GPU之cuda学习第三章内容总结

来源:互联网 发布:战国鬼才传 知乎 编辑:程序博客网 时间:2024/06/07 08:06
GUP高性能编程CUDA实战------第三章
1.将CPU以及系统的内存称为主机,而将GPU以及其内存称为设备。
2.CUDA C为标准C增加的_global_修饰符,这个修饰符告诉编译器,函数应该编译为设备而不是主机上运行。
3.函数kernel()将被交给编译设备代码编译器,而main()函数将被交给主机编译器。
4.尖括号表示将一些参数传递给运行时系统。这些参数并不是传递给设备代码的参数,而是告诉运行时如何启动设备代码。核函数的调用和标准的C中的任何函数调用一样,运行时,系统负责处理将参数从主机传递给设备的过程中所有复杂的操作。
5.cudaMalloc()的作用是告诉CUDA运行时在设备上分配内存。第一个参数是一个指针,指向用于保存新分配的内存地址的变量,第二个参数是分配内存的大小。
6.HANDLE_ERROR()是我们定义的一个宏,宏的目的是判断函数调用是否返回一个错误值,如果是的话,将输出相应的错误信息,退出应用程序并将退出代码设置为EXIT_FAILURE.
7.CUDA C简单性及其强大的功能在很大程度上都是来源于他淡化了主机代码和设备代码之间的差异。
8.设备指针的使用限制:可以讲cudaMalloc()分配的指针传递给设备上执行的函数.可以将设备代码中使用的cudaMalloc()分配的指针进行内存读.写操作.可以将cudaMalloc()分配的指针传递给在主机上执行的函数。不能在主机代码中使用cudaMalloc()分配的指针内存读/写操作.
9.参数cudaMemcpyDeviceToHost告诉运行时指针是一个设备指针,而目标指针是个主机指针。

0 0
原创粉丝点击