3

LLM研究之-NVIDIA的CUDA - Eric zhou

 7 months ago
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.
neoserver,ios ssh client

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架构包括几个关键的组成部分:

  1. CUDA核心 - 由多个能够并行处理任务的核心组成,它们可以同时执行成百上千的线程。

  2. CUDA内存管理 - 提供了对GPU内存的高效管理方法,包括全局内存、共享内存和常量内存等。

  3. CUDA并行计算线程 - 一个GPU可以创建和管理成千上万个并行线程,这些线程可以分组执行,提高数据处理的效率。

  4. CUDA工具链 - 包括编译器、调试器和性能分析工具,帮助开发者优化其GPU代码。

CUDA被广泛应用于科学计算、工程、医学成像、视频和图像处理、机器学习等领域,因为这些领域通常需要大量的并行计算能力。例如,在深度学习中,CUDA使得神经网络的训练通过GPU加速变得可能,大幅缩短了所需的时间。

二、查看已经安装的CUDA

在Ubuntu系统中,你可以通过以下几种方式来检查已安装的CUDA版本:

  1. 使用nvcc命令:
    nvcc是NVIDIA CUDA编译器工具。你可以通过命令行运行以下命令来查看其版本:

    nvcc --version
    

    这将输出CUDA编译器的版本信息。

  2. 检查CUDA目录:
    CUDA通常安装在/usr/local/cuda目录下。你可以检查这个目录下的版本号:

    ls -l /usr/local/cuda
    

    通常,这个目录是指向当前安装的CUDA版本的一个符号链接。

  3. 使用dpkg查询:
    如果你是通过aptdpkg安装的CUDA,可以用以下命令来查询安装的包:

    dpkg -l | grep cuda
    

    这将列出所有包含“cuda”名称的包,你可以从中找到CUDA Toolkit的相关信息。

  4. 查看环境变量:
    如果你设置了环境变量CUDA_HOMECUDA_PATH,这些变量通常指向CUDA安装的位置。你可以打印它们的值:

    echo $CUDA_HOME
    echo $CUDA_PATH

三、ubuntu下如何安装CUDA

在Ubuntu下安装CUDA Toolkit,你可以按照以下步骤进行:

  1. 检查NVIDIA GPU:
    首先,确认你的系统中有NVIDIA GPU,并且它支持CUDA。你可以使用lspci | grep -i nvidia命令查看GPU信息。

  2. 移除旧版本的NVIDIA驱动:
    如果你之前安装过NVIDIA驱动,你可能需要先卸载它们,以避免潜在的冲突。使用以下命令:

    sudo apt-get purge nvidia*
    
  3. 安装NVIDIA驱动:
    你可以通过Ubuntu的额外驱动工具安装或者从NVIDIA官网下载合适的驱动。安装驱动的命令如下:

    sudo ubuntu-drivers autoinstall
    
  4. 下载CUDA Toolkit:
    前往NVIDIA CUDA Toolkit下载页面(https://developer.nvidia.com/cuda-downloads)并选择适合你Ubuntu版本的安装包。你可以选择`.deb`文件。

  5. 安装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>需要替换成你下载的文件对应的发行版和版本号。

  6. 设置环境变量:
    打开你的.bashrc文件,添加以下行来设置环境变量:

    export PATH=/usr/local/cuda/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
    

    然后,使改动生效:

    source ~/.bashrc
  7. 重启电脑:
    安装完成后,重启你的电脑以确保所有驱动和变量设置正确加载。

  8. 验证CUDA安装:
    安装完成后,你可以通过运行nvcc --version来验证CUDA编译器是否正确安装。为了测试整个CUDA Toolkit,你可以尝试编译并运行NVIDIA提供的示例程序。

四、ubuntu下如何升级CUDA

在Ubuntu系统上升级CUDA Toolkit需要谨慎进行,因为这可能会影响依赖于CUDA的应用程序。以下是升级CUDA的一般步骤:

  1. 备份重要数据:
    在进行升级之前,确保备份你的重要数据和工作,以防升级过程中出现问题。

  2. 卸载旧版本CUDA:
    你可以使用以下命令来卸载旧版本的CUDA Toolkit:

    sudo apt-get --purge remove "*cuda*"
    sudo apt-get --purge remove "*nvidia*"
    

    这将移除当前安装的CUDA版本和相关的NVIDIA驱动程序。

  3. 清理系统:
    清理系统中不再需要的依赖和包:

    sudo apt-get autoremove
    sudo apt-get autoclean
    
  4. 安装新版本的NVIDIA驱动:
    确保安装与新版本CUDA兼容的NVIDIA驱动。可以通过Ubuntu的额外驱动工具或从NVIDIA官网下载安装。

  5. 下载新版本的CUDA Toolkit:
    前往NVIDIA官方网站下载最新版本的CUDA Toolkit(https://developer.nvidia.com/cuda-downloads)。

  6. 安装新版本的CUDA Toolkit:
    根据下载的CUDA版本,使用dpkgapt-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>需要替换成你下载的文件对应的发行版和版本号。

  7. 更新环境变量:
    更新.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使更改生效。

  8. 重启电脑:
    重启你的电脑以确保所有的驱动和环境变量设置正确加载。

  9. 验证新版本的CUDA:
    使用nvcc --version命令来验证新版本的CUDA编译器是否安装成功。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK