CUDA系列之CUDA安装与使用
文章目录
- 1. 前言
- 2. 环境准备
- 3. 配置环境变量
- 4. 第一个cuda程序
1. 前言
从本期开始,将由浅入深开始CUDA系列的文章分享,此系列所有文章全部免费,欢迎大家体验白嫖的快乐!
其实很早开始就想写CUDA系列,酝酿了很久,CUDA真是一门非常不错的异构编程语言,目前在大模型,AI人工智能,自动驾驶以及CV等领域大放异彩。因为目前我从事的真好跟CUDA相关的工作,希望通过我的分享,让更多的人了解,甚至喜欢上CUDA这门编程语言。
Tips:
- 推荐书籍: 《CUDA C编程 权威指南》
- Documentation:
- https://docs.nvidia.com/cuda
- https://docs.nvidia.com/cuda/archive/12.6.0/parallel-thread-execution/index.html
2. 环境准备
访问cuda官网获取安装脚本
安装完成后,在终端输入nvidia-smi
, 显式:
表示安装成功
3. 配置环境变量
打开.bashrc
,设置环境变量
vim ~/.bashrc
在最后添加:
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
配置完成后,source ~/.bashrc
, 输入nvcc -V
或nvcc --version
,能打印出如下信息,表示安装成功
安装成功后,接下来就可以开始我们的cuda编程之旅啦!
4. 第一个cuda程序
#include <stdio.h>__global__ void helloWorldKernel(){printf("我是线程%d,欢迎来到CUDA的世界!\n", threadIdx.x);
}int main() {helloWorldKernel<<<1, 32>>>();cudaDeviceSynchronize();return 0;
}
编译
/usr/local/cuda/bin/nvcc -I/usr/local/cuda/include -O3 -DNDEBUG --generate-code=arch=compute_90,code=[compute_90,sm_90] -std=c++17 hello_world.cu -o hello_world
运行输出:
我是线程0,欢迎来到CUDA的世界!
我是线程1,欢迎来到CUDA的世界!
我是线程2,欢迎来到CUDA的世界!
我是线程3,欢迎来到CUDA的世界!
我是线程4,欢迎来到CUDA的世界!
我是线程5,欢迎来到CUDA的世界!
我是线程6,欢迎来到CUDA的世界!
我是线程7,欢迎来到CUDA的世界!
我是线程8,欢迎来到CUDA的世界!
我是线程9,欢迎来到CUDA的世界!
我是线程10,欢迎来到CUDA的世界!
我是线程11,欢迎来到CUDA的世界!
我是线程12,欢迎来到CUDA的世界!
我是线程13,欢迎来到CUDA的世界!
我是线程14,欢迎来到CUDA的世界!
我是线程15,欢迎来到CUDA的世界!
我是线程16,欢迎来到CUDA的世界!
我是线程17,欢迎来到CUDA的世界!
我是线程18,欢迎来到CUDA的世界!
我是线程19,欢迎来到CUDA的世界!
我是线程20,欢迎来到CUDA的世界!
我是线程21,欢迎来到CUDA的世界!
我是线程22,欢迎来到CUDA的世界!
我是线程23,欢迎来到CUDA的世界!
我是线程24,欢迎来到CUDA的世界!
我是线程25,欢迎来到CUDA的世界!
我是线程26,欢迎来到CUDA的世界!
我是线程27,欢迎来到CUDA的世界!
我是线程28,欢迎来到CUDA的世界!
我是线程29,欢迎来到CUDA的世界!
我是线程30,欢迎来到CUDA的世界!
我是线程31,欢迎来到CUDA的世界!