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