首页 > 其他分享 >LLM研究之-NVIDIA的CUDA

LLM研究之-NVIDIA的CUDA

时间:2024-02-13 20:11:19浏览次数:33  
标签:sudo Toolkit cuda 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编译器是否安装成功。

标签:sudo,Toolkit,cuda,LLM,NVIDIA,安装,CUDA
From: https://www.cnblogs.com/tianqing/p/18014787

相关文章

  • LLM与强化学习(一)
    很早之前就想了解一下LLM到底是怎么和强化学习结合的,今天凑巧查资料的时候看到亚马逊的一篇文章,把知识点整理记录一下。1什么是RLHFRLHF代表“ReinforcementLearningfromHumanFeedback”,即基于人类反馈的强化学习。它是一种机器学习技术,利用人类反馈来优化模型,从而更有效......
  • Tacotron2(NVIDIA版)训练笔记
    https://blog.csdn.net/qq_44951010/article/details/124828260 Tacotron2项目地址:https://github.com/NVIDIA/tacotron2Tacotron2中文训练笔记:https://blog.csdn.net/qq_44951010/article/details/124830538从科大讯飞爬取音频数据:https://blog.csdn.net/qq_44951010/article/......
  • 目标检测 | Farthest Point Sampling 及其 CUDA 实现
    FarthestPointSampling及其CUDA实现目录FarthestPointSampling及其CUDA实现概述均匀随机采样FarthestPointSampling(待完成)FarthestPointSampling的并行版本(待完成)概述在深度学习中,在mesh模型(网格模型)上直接学习并预测是一个相当复杂的任务,一方面在于没有高效的......
  • 国产AI训练卡,对标美国NVIDIA公司的A100,华为昇腾Atlas 300T A2(Ascend 910B4)高性能GPU/N
    ChinahassuccessfullyachievedthelocalizationofAIchips,breakingthroughthetechnologicalrestrictionsimposedbytheU.S.governmentandrealizingindependentdesignandproductionofdomesticAIchips.Huawei'sAscend910modelAIchiphass......
  • 阿里云轻量级 GPU 实例安装 NVIDIA 驱动
    实例规格:轻量级GPU实例vgn6i-vws/ecs.vgn6i-m4-vws.xlarge(4vCPU23GiB)操作系统:Ubuntu22.04第一部分:尝试失败的安装方法查询NVIDIA产品型号lspci|grep-invidia输出00:07.0VGAcompatiblecontroller:NVIDIACorporationTU104GL[TeslaT4](reva1)根据产......
  • nvidia-persistenced failed to initialize. Check syslog for more details.
    nvidia-smi-pm-1#Internalnvidia-smierror.Unexpectedmodificationoperation./usr/bin/nvidia-persistenced--verbose#nvidia-persistencedfailedtoinitialize.Checksyslogformoredetails.nvidia-persistenced--persistence-mode#nvidia-persisten......
  • 大模型推理框架 vLLM 源码解析(一)
    1.QuickStart创建如下代码,命名为run.pyfromvllmimportLLM,SamplingParamsprompts=[ "HaveyoufollowedmarsggboinZhihu?", "你一键三连了吗?"]#输入promptssampling_params=SamplingParams(temperature=0.8,top_k=50)#采样策略llm=LLM(model=&q......
  • NVIDIA显卡驱动NVIDIA-Linux-x86_64-545.29.02 安装错误分析之一
    software/NVIDIA-Linux-x86_64-545.29.02/kernel-open/nvidia/libspdm_shash.c:在函数‘lkca_hmac_duplicate’中:/software/NVIDIA-Linux-x86_64-545.29.02/kernel-open/nvidia/libspdm_shash.c:90:26:错误:implicitdeclarationoffunction‘crypto_tfm_ctx_aligned’;didy......
  • 【LLM】提示工程技术提炼精华分享
    一、提示工程概述提示工程(PromptEngineering)是一门较新的学科,关注提示词开发和优化,帮助用户将大语言模型(LargeLanguageModel,LLM)用于各场景和研究领域。掌握了提示工程相关技能将有助于用户更好地了解大型语言模型的能力和局限性。提示工程相比较于微调(Fine-tuning)的成本和......
  • PVE直通Nvidia显卡
    本文参考:PVE开启硬件直通功能、PVE7.3优化和显卡直通、PVE开启硬件显卡直通功能、PVE设置显卡直通、proxmoxPCIPassthrough简介其实网络上有很多不错的文章讲述了如何直通显卡,也有简单易用的脚本帮你直通(pvetools)。我也成功在pve上直通n卡给win10,但是在Debian12上,我一直没办......