

LLM研究之-NVIDIA的CUDA - Eric zhou
source link: https://www.cnblogs.com/tianqing/p/18014787
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

LLM研究之-NVIDIA的CUDA
一、什么是NVIDIA的CUDA
CUDA(Compute Unified Device Architecture)是由NVIDIA公司开发的一个并行计算平台和应用程序编程接口(API),它允许软件开发者和软件工程师使用NVIDIA的图形处理单元(GPU)来进行通用计算。简而言之,CUDA让开发者能够利用NVIDIA的GPU进行高效能的计算工作,这通常被称为GPGPU(通用计算图形处理单元)。
CUDA提供了一种相对简便的方法来进行并行处理,因为它允许开发者使用类似于C、C++和Fortran这样的高级编程语言来编写代码。通过CUDA,开发者可以创建能够由GPU执行的算法,从而处理复杂数学和物理问题,这在只使用传统的中央处理单元(CPU)时可能是非常耗时的。
CUDA架构包括几个关键的组成部分:
-
CUDA核心 - 由多个能够并行处理任务的核心组成,它们可以同时执行成百上千的线程。
-
CUDA内存管理 - 提供了对GPU内存的高效管理方法,包括全局内存、共享内存和常量内存等。
-
CUDA并行计算线程 - 一个GPU可以创建和管理成千上万个并行线程,这些线程可以分组执行,提高数据处理的效率。
-
CUDA工具链 - 包括编译器、调试器和性能分析工具,帮助开发者优化其GPU代码。
CUDA被广泛应用于科学计算、工程、医学成像、视频和图像处理、机器学习等领域,因为这些领域通常需要大量的并行计算能力。例如,在深度学习中,CUDA使得神经网络的训练通过GPU加速变得可能,大幅缩短了所需的时间。
二、查看已经安装的CUDA
在Ubuntu系统中,你可以通过以下几种方式来检查已安装的CUDA版本:
-
使用
nvcc
命令:nvcc
是NVIDIA CUDA编译器工具。你可以通过命令行运行以下命令来查看其版本:nvcc --version
这将输出CUDA编译器的版本信息。
-
检查CUDA目录:
CUDA通常安装在/usr/local/cuda
目录下。你可以检查这个目录下的版本号:ls -l /usr/local/cuda
通常,这个目录是指向当前安装的CUDA版本的一个符号链接。
-
使用
dpkg
查询:
如果你是通过apt
或dpkg
安装的CUDA,可以用以下命令来查询安装的包:dpkg -l | grep cuda
这将列出所有包含“cuda”名称的包,你可以从中找到CUDA Toolkit的相关信息。
-
查看环境变量:
如果你设置了环境变量CUDA_HOME
或CUDA_PATH
,这些变量通常指向CUDA安装的位置。你可以打印它们的值:echo $CUDA_HOME echo $CUDA_PATH
三、ubuntu下如何安装CUDA
在Ubuntu下安装CUDA Toolkit,你可以按照以下步骤进行:
-
检查NVIDIA GPU:
首先,确认你的系统中有NVIDIA GPU,并且它支持CUDA。你可以使用lspci | grep -i nvidia
命令查看GPU信息。 -
移除旧版本的NVIDIA驱动:
如果你之前安装过NVIDIA驱动,你可能需要先卸载它们,以避免潜在的冲突。使用以下命令:sudo apt-get purge nvidia*
-
安装NVIDIA驱动:
你可以通过Ubuntu的额外驱动工具安装或者从NVIDIA官网下载合适的驱动。安装驱动的命令如下:sudo ubuntu-drivers autoinstall
-
下载CUDA Toolkit:
前往NVIDIA CUDA Toolkit下载页面(https://developer.nvidia.com/cuda-downloads)并选择适合你Ubuntu版本的安装包。你可以选择`.deb`文件。 -
安装CUDA Toolkit:
假设你下载了适合你Ubuntu版本的.deb
文件,你可以使用以下命令安装CUDA Toolkit:sudo dpkg -i cuda-repo-<distro>_<version>_amd64.deb sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/<distro>/x86_64/7fa2af80.pub sudo apt-get update sudo apt-get install cuda
其中
<distro>
和<version>
需要替换成你下载的文件对应的发行版和版本号。 -
设置环境变量:
打开你的.bashrc
文件,添加以下行来设置环境变量:export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
然后,使改动生效:
source ~/.bashrc
-
重启电脑:
安装完成后,重启你的电脑以确保所有驱动和变量设置正确加载。 -
验证CUDA安装:
安装完成后,你可以通过运行nvcc --version
来验证CUDA编译器是否正确安装。为了测试整个CUDA Toolkit,你可以尝试编译并运行NVIDIA提供的示例程序。
四、ubuntu下如何升级CUDA
在Ubuntu系统上升级CUDA Toolkit需要谨慎进行,因为这可能会影响依赖于CUDA的应用程序。以下是升级CUDA的一般步骤:
-
备份重要数据:
在进行升级之前,确保备份你的重要数据和工作,以防升级过程中出现问题。 -
卸载旧版本CUDA:
你可以使用以下命令来卸载旧版本的CUDA Toolkit:sudo apt-get --purge remove "*cuda*" sudo apt-get --purge remove "*nvidia*"
这将移除当前安装的CUDA版本和相关的NVIDIA驱动程序。
-
清理系统:
清理系统中不再需要的依赖和包:sudo apt-get autoremove sudo apt-get autoclean
-
安装新版本的NVIDIA驱动:
确保安装与新版本CUDA兼容的NVIDIA驱动。可以通过Ubuntu的额外驱动工具或从NVIDIA官网下载安装。 -
下载新版本的CUDA Toolkit:
前往NVIDIA官方网站下载最新版本的CUDA Toolkit(https://developer.nvidia.com/cuda-downloads)。 -
安装新版本的CUDA Toolkit:
根据下载的CUDA版本,使用dpkg
和apt-get
命令安装新版本的CUDA Toolkit。例如:sudo dpkg -i cuda-repo-<distro>_<version>_amd64.deb sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/<distro>/x86_64/7fa2af80.pub sudo apt-get update sudo apt-get install cuda
其中
<distro>
和<version>
需要替换成你下载的文件对应的发行版和版本号。 -
更新环境变量:
更新.bashrc
文件,将CUDA的路径设置为新版本的路径:export PATH=/usr/local/cuda-<new_version>/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-<new_version>/lib64:$LD_LIBRARY_PATH
替换
<new_version>
为你安装的新版本号,然后运行source ~/.bashrc
使更改生效。 -
重启电脑:
重启你的电脑以确保所有的驱动和环境变量设置正确加载。 -
验证新版本的CUDA:
使用nvcc --version
命令来验证新版本的CUDA编译器是否安装成功。
Recommend
-
148
.Net Core技术研究-WebApi迁移ASP.NET Core2.0 随着...
-
6
.NET 7新特性 2022年11月份微软推出了带有STS(标准期...
-
3
ASP.NET 6.0 Core 迁移 ASP.NET Core 7.0 2022年微软...
-
4
C#11新特性整理 假期中有时间,整理了C#11的各个新特...
-
5
近期产品要支持国际化多语言,主要涉及前端界面国际化以及后端提示信息、异常信息的国际化多语言支持。 目前我们的开发技术栈:前端VUE、后端.NET。面向前端界面和后端服务,分别涉及对应的国际化多语言支持方案。 一、前端界面国际化多语言支持...
-
6
VUE+.NET应用系统的国际化-多语言词条服务 上篇文章我...
-
4
在 2021 年 11 月 8 日发布的 .NET 6 当前已经广泛使用。微软团队已经开始着手为.NET 7制定计划和新特性。本文将为您全面解析.NET 7 的新特性,并提供源代码示例。 1. 更好的性能 .NET 7 将继续提高运行时性能,改进 JIT 编译器,减少内存分配,优化...
-
8
Kafka主从模式和故障切换 Kafka集群有主从...
-
6
关于Word转PDF的几种实现方案 在.NET中,你可以使...
-
7
Python学习之Pytorch 一、如何查看本机是否安装了...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK