⑴ GPU編程常識求助:cg、opencv、opengl、cuda、glsl等
你好,
首先,cg,opengl,glsl都是跟計算機圖形有關的。cg基本是做渲染的,opengl是一個開源圖形庫,和微軟的direct3D是一樣的。glsl是shading language ,專門用來寫shader的,在GPGPU( general purpose GPU)概念出來之前,好多人用glsl來做並行計算。
其次,CUDA和OpenCL是兩個專門做GPU運算的庫。CUDA非常好用,它有自己的NVCC編譯器,和各個系統都兼容很好,但是僅限於用於NVIDIA自己的顯卡。OpenCL雖然任何顯卡都可以使用,但是它的GPU的代碼要放到單獨的一個文本文件中編譯,操作上要比CUDA要復雜。
最後,其實CUDA和OpenCL學那個多一樣,因為並行運算的思想是一樣的。推薦你兩本書:
Programming Massively Parallel Processors 2nd(入門)
CUDA Programming A Developer-'s Guide to Parallel Computing with GPUs (高級一點)
謝謝,望採納