0

为听起来完整的 n00b 道歉,但我了解到我可以将 CUDA 扩展函数调用到 C++ 并让 GPU 计算。但是,我似乎找不到如何下载库的说明(也找不到我需要下载的库)?奇怪的是,我有一个很好的例子,但我不知道如何获取库!

只是为了让我的帖子更有用,这是我希望实现的示例:

#define N 512
int main(void) {
    int *a, *b, *c; // host copies of a, b, c
    int *d_a, *d_b, *d_c; // device copies of a, b, c
    int size = N * sizeof(int);

    // Alloc space for device copies of a, b, c
    cudaMalloc((void **)&d_a, size);
    cudaMalloc((void **)&d_b, size);
    cudaMalloc((void **)&d_c, size);

    // Alloc space for host copies of a, b, c and setup input values
    a = (int *)malloc(size); random_ints(a, N);
    b = (int *)malloc(size); random_ints(b, N);
    c = (int *)malloc(size);

    // Copy inputs to device
    cudaMemcpy(d_a, a, size, cudaMemcpyHostToDevice);
    cudaMemcpy(d_b, b, size, cudaMemcpyHostToDevice);

    // Launch add() kernel on GPU with N blocks
    add<<<N,1>>>(d_a, d_b, d_c);

    // Copy result back to host
    cudaMemcpy(c, d_c, size, cudaMemcpyDeviceToHost);

    // Cleanup
    free(a); free(b); free(c);
    cudaFree(d_a); cudaFree(d_b); cudaFree(d_c);
    return 0;
}
4

1 回答 1

1

你可以在这里找到 Cuda SDK:Cuda SDK

说实话并不难找到......但是,如果您将来遇到这种问题,您通常会通过搜索它的名称(这里是 Cuda)找到库,然后在 Google 上搜索“SDK” . 应该总是在第一个结果。

如果你想开始,我认为 NVIDIA 提供了一个非常好的文档以及一个入门部分,包括对并行编程的介绍:入门

于 2013-07-12T22:23:32.637 回答