首先,cg,opengl,glsl都和計算機圖形學有關。Cg基本就是渲染,opengl是開源的圖形庫,和微軟的direct3D壹樣。Glsl是壹種著色語言,專門用來寫shader的。在GPGPU(通用GPU)這個概念出來之前,很多人都是用glsl做並行計算的。
其次,CUDA和OpenCL是兩個專門做GPU計算的庫。CUDA非常好用。它有自己的NVCC編譯器,非常兼容所有系統,但它只用於NVIDIA自己的顯卡。OpenCL雖然可以配合任何顯卡使用,但是它的GPU代碼要編譯在單獨的文本文件中,比CUDA復雜。
最後,其實CUDA和OpenCL很像,因為並行操作的思路是壹樣的。我向妳推薦兩本書:
大規模並行處理器編程2(入門)
Cuda編程:GPU並行計算開發人員指南(高級版)
謝謝,望采納。