寄存器和共享内存取决于编译计算能力?
当我使用 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…
GPU 共享内存大小非常小 - 我该怎么办?
目前大多数 nVIDIA GPU 上的共享内存(OpenCL 术语中的“本地内存”)大小仅为 16 KiB。 我有一个应用程序,需要在其中创建一个包含 10,000 个整数的…
CUDA 共享内存阵列 - 奇怪的行为
在 CUDA 内核中,我有类似于以下的代码。 我试图为每个线程计算一个分子,并将分子累加到块上以计算分母,然后返回比率。 但是,CUDA 将 denom 的值设…