GPU(二)CUDA环境安装

1、什么是CUDA?

CUDA是“Compute Unified Device Architecture”的缩写,意为统一计算设备架构,它是由NVIDIA公司2006年创建的一种并行计算平台和应用程序编程接口,允许开发者通过CUDA利用GPU的强大处理能力进行高性能的并行计算。CUDA支持C和C++等标准编程语言,以及OpenCL和DirectCompute等用于GPU计算的API。此外NVIDIA还提供了全套工具包,包括编译器、调试器、分析器、库等,以支持开发人员将CUDA架构应用于生产质量的产品。

2、CUDA环境安装

本文环境:windows WSL + ubuntu18.04

windows安装WSL和ubuntu教程参考:https://zhuanlan.zhihu.com/p/386590591

2.1 安装驱动

根据自己显卡型号去NVIDIA官网下载驱动并安装:https://www.nvidia.com/Download/index.aspx?lang=cn

在这里插入图片描述

2.2 安装CUDA Toolkit

首先打开NVIDIA下载官网:https://developer.nvidia.com/cuda-downloads

在这里插入图片描述

如果想安装其它版本,可以点击下方Archive of Previous CUDA Releases进行选择

在这里插入图片描述

本文以12.3版本为例,根据我本地环境,在页面上做如下选择:

  • Operating System: Linux
  • Architecture: x86_64
  • Distribution: WSL-Ubuntu
  • Version: 2.0
  • Installer Type: deb(local)

在这里插入图片描述

选择上述配置后,下面会出来安装步骤:

在这里插入图片描述

把安装步骤直接复制到ubuntu 18.04中执行:

$ wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
$ sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/12.3.0/local_installers/cuda-repo-wsl-ubuntu-12-3-local_12.3.0-1_amd64.deb
$ sudo dpkg -i cuda-repo-wsl-ubuntu-12-3-local_12.3.0-1_amd64.deb
$ sudo cp /var/cuda-repo-wsl-ubuntu-12-3-local/cuda-*-keyring.gpg /usr/share/keyrings/
$ sudo apt-get update
$ sudo apt-get -y install cuda-toolkit-12-3

到这里CUDA Toolkit就安装完成了,但是可能还无法直接使用nvidia-smi等命令,因为CUDA默认安装在/usr/local/cuda-12.3下,而这个路径不在系统可默认路径里。我们通过配置环境变量的方式解决这个问题。

2.3 配置环境变量

用root用户打开/etc/profile文件,在文件末尾增加以下4行(注意路径中的版本):

export LD_LABRARY=$LD_LIBRARY_PATH:/usr/local/cuda-12.3/lib64
export PATH=$PATH:/usr/local/cuda-12.3/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-12.3
export PATH=/usr/local/cuda/bin:$PATH

保存后切回普通用户,执行下述命令让环境变量立马生效:

$ source /etc/profile

3、验证

分别执行nvidia-sminvcc -V命令,如果有如下数据则说明安装成功

在这里插入图片描述
再写如下一小段cuda代码验证:

// main.cu
#include<stdio.h>

__global__ void hello()
{
        printf("hello from GPU\n");
}

int main()
{
        hello<<<2, 2>>>();
        cudaDeviceSynchronize();

        return 0;
}

编译并执行:

$ nvcc main.cu -o main
$ ./main
hello from GPU
hello from GPU
hello from GPU
hello from GPU

微信公众号卡巴斯同步发布,欢迎大家关注。

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值