Naz*_*gob 66
通过NVidia查看CUDA,IMO是最简单的GPU编程平台.有很多很酷的材料可供阅读.
http://www.nvidia.com/object/cuda_home.html
Hello世界将使用GPU进行任何类型的计算.
希望有所帮助.
Dav*_*idG 16
我认为其他人已经回答了你的第二个问题.至于第一个,CUDA的"Hello World",我认为没有一套标准,但就个人而言,我推荐一个并行加法器(即一个总和N个整数的程序).
如果你看一下NVIDIA SDK中的"简化"示例,可以扩展表面上简单的任务来演示许多CUDA注意事项,例如合并读取,内存库冲突和循环展开.
有关详情,请参阅此演示文稿:
http://www.gpgpu.org/sc2007/SC07_CUDA_5_Optimization_Harris.pdf
看看ATI Stream Computing SDK.它基于斯坦福大学开发的BrookGPU.
将来,所有GPU工作都将使用OpenCL进行标准化.这是Apple赞助的一项计划,它将成为显卡供应商的中立者.
无需进入CUDA或OpenCL即可进行GPU编程的另一种简便方法是通过OpenACC进行。
OpenACC的工作方式与OpenMP相似,带有编译器指令(如#pragma acc kernels)将工作发送到GPU。例如,如果您有一个大循环(只有更大的循环才真正受益):
int i;
float a = 2.0;
float b[10000];
#pragma acc kernels
for (i = 0; i < 10000; ++i) b[i] = 1.0f;
#pragma acc kernels
for (i = 0; i < 10000; ++i) {
b[i] = b[i] * a;
}
Run Code Online (Sandbox Code Playgroud)
编辑:不幸的是,对于NVIDIA GPU卡,只有PGI编译器现在才真正支持OpenACC。