cuda nbody模拟-共享内存问题
基于 Nvidia GPU 计算 SDK 的示例,我为 nbody 模拟创建了两个内核。第一个不利用共享内存的内核比第二个使用共享内存的内核快约 15%。为什么共享内存…
为什么将共享内存数组填充一列可以使内核速度提高 40%?
当共享内存数组填充一列时,为什么这个矩阵转置内核更快? 我在 PyCuda/Examples/MatrixTranspose 找到了内核。 源 import pycuda.gpuarray as gpuarr…
寄存器和共享内存取决于编译计算能力?
当我使用 nvcc -arch=sm_13 编译时,我得到: ptxas info : Used 29 registers, 28+16 bytes smem, 7200 bytes cmem[0], 8 bytes cmem[1] 当我使用 nv…
共享内存上的原子操作
如何在共享内存上执行原子操作? 我有类似的东西: __shared__ int a[10]; //set a if(tid<5) a[2]++; 因此 5 个线程正在递增 a。我该怎么做? 我知道…
CUDA:跨不同内核使用共享内存
这可能吗? 我试图在一个内核中定义一个共享内存数组,然后我需要在不同的内核中使用这些值。 我尝试声明 extern __shared__ float sharedMem[]; 外部…
创建具有块大小的共享向量?
我需要创建一个共享向量,其大小与块相同。 __global__ func() { const int size = blockDim.x; __shared__ float* Vec[size]; .. } 我收到此错误, e…