⑴ 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 (高级一点)
谢谢,望采纳