【linux】验证cuda是否安装成功
【创作不易,求点赞+关注+收藏】
确认 CUDA 是否完全安装并正确配置,可以运行一些简单的 CUDA 示例代码。以下是一个基本的 CUDA 示例代码:
1、创建cuda源文件
在终端中运行以下命令,使用 nano 文本编辑器创建一个新的文件 vector_add.cu:
nano vector_add.cu
将以下代码复制并粘贴到文件中:
#include <stdio.h>
__global__ void vector_add(float *a, float *b, float *c, int n) {
int id = blockIdx.x * blockDim.x + threadIdx.x;
if (id < n) {
c[id] = a[id] + b[id];
}
}
int main() {
int n = 1000;
float *a, *b, *c;
float *d_a, *d_b, *d_c;
a = (float*)malloc(n * sizeof(float));
b = (float*)malloc(n * sizeof(float));
c = (float*)malloc(n * sizeof(float));
cudaMalloc(&d_a, n * sizeof(float));
cudaMalloc(&d_b, n * sizeof(float));
cudaMalloc(&d_c, n * sizeof(float));
for (int i = 0; i < n; i++) {
a[i] = i;
b[i] = i * 2;
}
cudaMemcpy(d_a, a, n * sizeof(float), cudaMemcpyHostToDevice);
cudaMemcpy(d_b, b, n * sizeof(float), cudaMemcpyHostToDevice);
vector_add<<<(n+255)/256, 256>>>(d_a, d_b, d_c, n);
cudaMemcpy(c, d_c, n * sizeof(float), cudaMemcpyDeviceToHost);
for (int i = 0; i < 10; i++) {
printf("%f ", c[i]);
}
printf("\n");
free(a);
free(b);
free(c);
cudaFree(d_a);
cudaFree(d_b);
cudaFree(d_c);
return 0;
}
按 Ctrl+O 保存文件,按 Enter 确认,然后按 Ctrl+X 退出 nano。
2、编译CUDA程序
使用 nvcc 编译器编译 vector_add.cu 文件:
nvcc -o vector_add vector_add.cu
3、运行编译后的程序
运行生成的可执行文件:
./vector_add
如果一切正常,你应该会看到如下输出:
0.000000 3.000000 6.000000 9.000000 12.000000 15.000000 18.000000 21.000000 24.000000 27.000000