• 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-__amd64.deb
      sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos//x86_64/7fa2af80.pub
      sudo apt-get update
      sudo apt-get install cuda
      

      其中需要替换成你下载的文件对应的发行版和版本号。

    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-__amd64.deb
      sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos//x86_64/7fa2af80.pub
      sudo apt-get update
      sudo apt-get install cuda
      

      其中需要替换成你下载的文件对应的发行版和版本号。

    7. 更新环境变量:
      更新.bashrc文件,将CUDA的路径设置为新版本的路径:

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

      替换为你安装的新版本号,然后运行source ~/.bashrc使更改生效。

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

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

  • 相关阅读:
    当他们在私域里,掌握了分寸感
    探索区块链世界:赋能创新,揭示区块链媒体发稿的影响力-世媒讯
    Fuse.js - 免费开源、小巧无依赖的模糊搜索 JavaScript 工具库
    vue pc项目 router.js 配置详解
    【SpringBoot整合MQ】-----SpringBoot整合ActiveMQ
    【linux】进程
    jenkins的nmp install命令无法下载包
    03.thymeleaf在业务系统中的应用
    java基础之方法的定义与重载(6)
    汽车电子中的安森美深力科分享一款高性能车规级芯片NCV7520MWTXG
  • 原文地址:https://www.cnblogs.com/tianqing/p/18014787