随笔分类 -  CUDA

CUDA:零拷贝主机内存
摘要:The easy way to achieve copy/compute overlap!1.Enable Host Mapping* 2.Allocate pinned CPU memory 3.Get a CUDA device pointer to this memory 4.Just use 阅读全文

posted @ 2017-04-24 10:09 那个人好像一条狗 阅读(807) 评论(0) 推荐(0) 编辑

CUDA: 流
摘要:1. 页锁定主机内存 c库函数malloc()分配标准的,可分页(Pagable)的内存,cudaHostAlloc()分配页锁定的主机内存。页锁定内存也称为固定内存(Pinned Memory)或者不可分页内存,它有个重要属性:操作系统将不会对这块内存分页并交换到磁盘上,从而确保了该内存始终驻留在 阅读全文

posted @ 2017-04-22 11:20 那个人好像一条狗 阅读(810) 评论(0) 推荐(0) 编辑

CUDA: 原子操作
摘要:1.1以上计算功能集支持全局内存上的原子操作, 1.2以上支持共享内存上的原子操作。 atomicAdd(add,y)将生成一个原子的操作序列,这个操作序列包括读取地址addr处的值,将y增加到这个值,以及将结果保存回地址addr。 一个统计字符出现频率的直方图GPU内核函数: 通过降低内存竞争程度 阅读全文

posted @ 2017-04-21 16:16 那个人好像一条狗 阅读(1433) 评论(0) 推荐(0) 编辑

CUDA:纹理内存
摘要:纹理内存: 与常量内存类似,纹理内存是另一种形式的只读内存,并且同样缓存在芯片上。因此某些情况下能够减少对内存的请求并提供高效的内存带宽。纹理内存是专门为那些在内存访问模式中存在大量空间局部性的图形应用程序设计的。 首先,需要将输入的数据声明为texture类型的引用: texture<float> 阅读全文

posted @ 2017-04-19 17:32 那个人好像一条狗 阅读(965) 评论(0) 推荐(0) 编辑

CUDA: 常量内存与事件
摘要:常量内存: 常量内存用于保存在核函数执行期间不会发生变化的数据,在变量面前添加 __constant__ 修饰符: __constant__ Sphere s[SPHERES]; cudaMemcpyToSymbol(s, temp_s, sizeof(Sphere)*SPHERES); 这个特殊版 阅读全文

posted @ 2017-04-19 15:54 那个人好像一条狗 阅读(441) 评论(0) 推荐(0) 编辑

CUDA: 共享内存与同步
摘要:CUDA C支持共享内存, 将CUDA C关键字__shared__添加到变量声明中,将使这个变量驻留在共享内存中。对在GPU上启动的每个线程块,CUDA C编译器都将创建该变量的一个副本。线程块中的每个线程都共享这块内存,但线程无法看到也不能修改其他线程块的变量副本。共享内存缓冲区驻留在物理GPU 阅读全文

posted @ 2017-04-19 14:18 那个人好像一条狗 阅读(326) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示