首先,我对 CUDA 编程相当陌生,所以我对这样一个简单的问题表示歉意。我已经研究了在 GPU 内核调用中确定 dimGrid 和 dimBlock 的最佳方法,但由于某种原因,我还没有完全让它工作。
我的家用 PC 上有一块GeForce GTX 580(计算能力 2.0)。每块 1024 个线程等。我可以让我的代码在这台 PC 上正常运行。我的 GPU 正在填充大小为 988*988 的距离数组。下面是部分代码:
#define SIZE 988
__global__ void createDistanceTable(double *d_distances, double *d_coordinates)
{
int col = blockIdx.x * blockDim.x + threadIdx.x;
int row = blockIdx.y * blockDim.y + threadIdx.y;
if(row < SIZE && col < SIZE)
d_distances[row * SIZE + col] =
acos(__sinf(d_coordinates[row * 2 + 0])*
__sinf(d_coordinates[col * 2 + 0])+__cosf(d_coordinates[row * 2 + 0])* …Run Code Online (Sandbox Code Playgroud) cuda ×1