![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
cuda
朝气
想法太多, 做的太少,
展开
-
cudpp库
cudpp库是一个cuda库,其提供了一些cuda并行算法的实现。比如scan, radix_sort, reduce等。cudapp2.2版本的radix_sort 是使用thrust::stable_sort 实现的(在源码中,以前的radix_sort代码都被注释掉了),经过统计,thrust::stable_sort 几乎不需要开辟额外内存。原创 2015-12-17 14:12:12 · 790 阅读 · 0 评论 -
cuda share memory
cuda share memory 声明时最好加上 volatile 关键字。__shared__ volatile T sdata[blockSize];volatile 表示这个变量会被外部程序读取或者修改。比如变量所在地址是一个端口,外部程序可以读取或者修改端口的数据。为防止编译器优化时使用寄存器缓存这个变量, 我们必须加上volatile关键字。 一个例子是cuda 中的warp re原创 2016-01-19 13:42:32 · 1485 阅读 · 0 评论 -
CUDA 7.5 Nsight 4.7 GTX960 openGL interop 调试报错
问题描述: 使用Nsight 调试时 函数 cudaGraphicsMapResources 处报 cudaUnknownErrors; 使用VS调试时没有错误。 解决方法: 升级最新显卡驱动。原创 2016-01-12 17:27:45 · 418 阅读 · 0 评论 -
cuda shared memory 静态分配和动态分配
静态分配加上前缀 shared__shared__ int _ss[1024];动态分配当我们在编程时,不清楚shared memory 数组开多大,就要用到动态分配。 分为两部分: 1, 声明extern __shared__ int _s[];2, 在调用kernel 时加上数组的大小。xxx_kernel<<<grid, block, sharedMemSize>>>();内存分布下面通过原创 2016-02-25 15:37:16 · 6252 阅读 · 0 评论