cuda安装、gcc多版本兼容安装切换

安装cuda开发库之后,使用gcc编译会可能会报错要求gcc版本,如下表

CUDA versionmax supported GCC version
11.1, 11.2, 11.310
119
10.1, 10.28
9.2, 10.07
9.0, 9.16
85.3
74.9
5.5, 64.8
4.2, 54.6
4.14.5
4.04.4

目前系统为ubuntu21.04,gcc 10.3,安装cuda 11.3后编译cuda samples会报错,例如 chrono模块、gcc版本过高等提示。

多版本gcc共存、随时切换
第一步,先使用命令 sudo apt install gcc-7 g++-7 安装 gcc 7.5,成功安装后可以在/user/bin/下看到两个版本:

ubuntu@ubuntu:~$ ls -l /usr/bin/gcc*
lrwxrwxrwx 1 root root 21 Oct 27 02:26 /usr/bin/gcc -> /etc/alternatives/gcc
lrwxrwxrwx 1 root root 23 Apr  8  2021 /usr/bin/gcc-10 -> x86_64-linux-gnu-gcc-10
lrwxrwxrwx 1 root root 22 Nov 26  2020 /usr/bin/gcc-7 -> x86_64-linux-gnu-gcc-7
lrwxrwxrwx 1 root root  9 Apr 12  2021 /usr/bin/gcc-ar -> gcc-ar-10
lrwxrwxrwx 1 root root 26 Apr  8  2021 /usr/bin/gcc-ar-10 -> x86_64-linux-gnu-gcc-ar-10
lrwxrwxrwx 1 root root 25 Nov 26  2020 /usr/bin/gcc-ar-7 -> x86_64-linux-gnu-gcc-ar-7
lrwxrwxrwx 1 root root  9 Apr 12  2021 /usr/bin/gcc-nm -> gcc-nm-10
lrwxrwxrwx 1 root root 26 Apr  8  2021 /usr/bin/gcc-nm-10 -> x86_64-linux-gnu-gcc-nm-10
lrwxrwxrwx 1 root root 25 Nov 26  2020 /usr/bin/gcc-nm-7 -> x86_64-linux-gnu-gcc-nm-7
lrwxrwxrwx 1 root root 13 Apr 12  2021 /usr/bin/gcc-ranlib -> gcc-ranlib-10
lrwxrwxrwx 1 root root 30 Apr  8  2021 /usr/bin/gcc-ranlib-10 -> x86_64-linux-gnu-gcc-ranlib-10
lrwxrwxrwx 1 root root 29 Nov 26  2020 /usr/bin/gcc-ranlib-7 -> x86_64-linux-gnu-gcc-ranlib-7

第二步,配置gcc版本的优先级,默认使用的gcc版本为优先级最高的。设置gcc 10优先级为100,设置gcc 7优先级为70。那么默认使用gcc10。

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 --slave /usr/bin/gcov gcov /usr/bin/gcov-10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g++-7 --slave /usr/bin/gcov gcov /usr/bin/gcov-7

第三步,切换需要的gcc版本,命令为sudo update-alternatives --config gcc,默认是0选项。输入需要的gcc版本序号后,即可成功切换。

There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-10   100       auto mode
  1            /usr/bin/gcc-10   100       manual mode
  2            /usr/bin/gcc-7    70        manual mode

Press <enter> to keep the current choice[*], or type selection number:
### 回答1: PyTorch 是一个用于科学计算和深度学习的 Python 库,它能够在 CPU 和 GPU 上高效地运行。PyTorch 通过使用类似 NumPy 的语法和动态计算图来简化了深度学习模型的实现。 CUDA 是 NVIDIA 开发的用于高性能计算的并行计算平台和编程模型,它使得程序能够在 NVIDIA GPU 上并行执行。CUDA 能够显著提高深度学习模型的训练速度。 GCC 是 GNU Compiler Collection 的缩写,它是一款优秀的开源编译器,支持多种编程语言,如 C、C++、Objective-C、Java、Ada 和 Fortran 等。在 Linux 上,GCC 通常是默认的 C/C++ 编译器。 PyTorch 可以与 CUDAGCC 一起使用,以便在 GPU 上加速深度学习模型的训练和推断。要在 PyTorch 中使用 CUDA,您需要安装适当的 CUDA 版本和 CuDNN 库。要在 PyTorch 中使用 GCC,您需要确保安装了合适的版本,并且将其配置为默认编译器。 ### 回答2: PyTorch和CUDA GCC是不同的软件工具。PyTorch是一个用于深度学习的开源框架,而CUDA GCC是用于编译和优化CUDA代码的编译器工具。 PyTorch的版本CUDA GCC版本之间没有直接的对应关系。PyTorch有自己的版本号体系,用于区分不同的发布版本。每个PyTorch发布版本都可以兼容一定范围内的CUDA运行时版本。 而CUDA GCC版本则与NVIDIA的CUDA Toolkit版本相关联。CUDA Toolkit提供了用于开发和运行CUDA应用程序的一系列工具和库。每个CUDA Toolkit版本都包含了特定的CUDA GCC版本,用于编译CUDA代码。 在选择PyTorch和CUDA GCC版本时,应该首先了解两者的兼容性。一般来说,PyTorch的官方文档会明确指出支持的CUDA版本范围。同时,NVIDIA官方也会在CUDA Toolkit的文档中列出支持的CUDA GCC版本。 为了确保PyTorch与CUDA GCC兼容性,应该选择满足两者要求的版本。在安装PyTorch时,可以通过指定合适的CUDA版本来确保PyTorch与CUDA GCC兼容性。 总结而言,PyTorch和CUDA GCC是两个相互独立的工具,没有直接的版本对应关系。在选择版本时,要注意PyTorch和CUDA GCC兼容性,以确保代码的正常运行。 ### 回答3: PyTorch和CUDA版本之间是有对应关系的。PyTorch是一个使用GPU加速的深度学习框架,而CUDA是NVIDIA公司提供的GPU并行计算平台和编程模型。 PyTorch的版本通常会与其所支持的CUDA版本对应。PyTorch的每个主要版本都会明确声明其所需要的最低CUDA版本。比如,PyTorch 1.8版本需要CUDA 10.2及以上的版本。也就是说,如果想要使用PyTorch 1.8,必须安装CUDA 10.2或更高版本的驱动和库。 需要注意的是,CUDA版本与GPU型号是一一对应的,并非所有老旧的GPU都支持最新的CUDA版本。因此,在选择PyTorch和CUDA版本时,还要考虑自己的GPU型号是否与目标CUDA版本兼容。 另外,GCC(GNU Compiler Collection)是一套开源的编程语言编译器集合,其中包含了C、C++等语言的编译器。与PyTorch和CUDA版本对应无关,GCC版本的选择主要取决于操作系统和具体的代码编译要求。通常情况下,PyTorch和CUDA版本并不要求特定的GCC版本。 总结而言,PyTorch和CUDA版本对应关系,PyTorch会明确声明所需的最低CUDA版本。而GCC编译器的版本选择与PyTorch和CUDA版本无关,主要依赖于操作系统和编译需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aworkholic

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值