對(duì)于深度學(xué)習(xí)來(lái)說(shuō),目前硬件加速主要靠使用圖形處理單元(GPU)集群作為通用計(jì)算圖形處理單元(GPGPU)。相比傳統(tǒng)的通用處理器(GPP),GPU的核心計(jì)算能力要多出幾個(gè)數(shù)量級(jí),也更容易進(jìn)行并行計(jì)算。尤其是NVIDIA CUDA,作為最主流的GPGPU編寫平臺(tái),各個(gè)主要的深度學(xué)習(xí)工具均用其來(lái)進(jìn)行GPU加速。最近,開放型并行程序設(shè)計(jì)標(biāo)準(zhǔn)OpenCL作為異構(gòu)硬件編程的替代性工具備受關(guān)注,而對(duì)這些工具的熱情也在高漲。雖然在深度學(xué)習(xí)領(lǐng)域內(nèi),OpenCL獲得的支持相較CUDA還略遜一籌,但OpenCL有兩項(xiàng)獨(dú)特的性能。首先,OpenCL對(duì)開發(fā)者開源、免費(fèi),不同于CUDA單一供應(yīng)商的做法。其次,OpenCL支持一系列硬件,包括GPU、GPP、現(xiàn)場(chǎng)可編程門陣列(FPGA)和數(shù)字信號(hào)處理器(DSP)。
1.1. FPGA