GPU之cuda学习第三章内容总结
2015-11-24 19:59
351 查看
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告诉运行时指针是一个设备指针,而目标指针是个主机指针。
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告诉运行时指针是一个设备指针,而目标指针是个主机指针。
相关文章推荐
- 浅谈.Net并行计算之数据并行
- 用python做GPU计算(1)——安装以及配置
- java实现简单的并行计算框架
- Fourinone四合一分布式计算框架整体介绍
- [硬件资讯]32nm Atom性能首曝:GPU性能三倍于今
- vtkGPUVolumeRayCastMapper (Examples)
- GPU(CUDA)学习日记(三)------ CUDA基本架构介绍以及编程入门!
- GPU通用计算调研报告
- 关于XenServer 6.0 GPU Passthrough使用注意事项
- 第一個 CUDA 程式
- GPU 的硬體架構
- 定义在GPU上的变量
- 详解GPU的常见参数及其对显卡的重要性
- GPU架构(续)
- GPU memory结构
- 美军方青睐GPU计算
- SGI将推Prism XL系统 集CPU和GPU为一体
- Google的分布式计算模型Map Reduce
- 获取当前IOS设备的CPU型号,CPU核数,GPU,GPU核数,屏幕分辨率,屏幕尺寸,PPI等信息
- 解决Driver/library version mismatch