【linux】验证cuda是否安装成功

【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 

在这里插入图片描述

相关推荐

  1. python跑ncnn(验证模型是否转换成功)

    2024-07-16 00:52:03       53 阅读
  2. ubuntu,确认cudnn是否安装成功

    2024-07-16 00:52:03       29 阅读
  3. linux查看程序是否安装

    2024-07-16 00:52:03       58 阅读
  4. Linux安装LightGBM CUDA版本

    2024-07-16 00:52:03       20 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 00:52:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 00:52:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 00:52:03       58 阅读
  4. Python语言-面向对象

    2024-07-16 00:52:03       69 阅读

热门阅读

  1. 微信小程序学习使用问题总结

    2024-07-16 00:52:03       20 阅读
  2. 数据集配置

    2024-07-16 00:52:03       21 阅读
  3. windows区分大小写

    2024-07-16 00:52:03       23 阅读
  4. BCC工具命令报错解决步骤

    2024-07-16 00:52:03       21 阅读
  5. React

    React

    2024-07-16 00:52:03      19 阅读
  6. zookeeper+kafka消息队列群集部署

    2024-07-16 00:52:03       18 阅读