【内网Tesla T4_16G为例】GPU安装NVIDIA Driver、CUDA、cuDNN、Python

news2024/9/20 22:50:50

这篇文章主要记录下在内网(无法连接外网)服务器安装NVIDIA Driver、CUDA、cuDNN、Python的过程,机器配置GPU:1*NVIDIA T4 16G,CPU:8C42G,操作系统:GPU-RHEL7.9-x86-64。

想了解如何内网部署ollama,使用大模型,可以参考我的另一篇文章:
【内网Tesla T4_16G为例】超详细部署安装ollama、加载uugf格式大模型qwen2、chatglm3及大模型的使用

前言

因为是内网环境,所以文章中的安装过程,不贴实际安装过程的图片。

因为是内网环境,所以所有的安装包都是先外网下载好,拷贝到内网执行的。下面所有安装包都是如此,不再赘述

该服务器除系统盘60G之外,还有一个扩展盘100G,我们可以理解为windows电脑的D盘,我的所有安装包都会装在该盘,如果你只有一个盘,可以新建一个文件夹安装,不建议安装在系统盘的其他文件夹中

一. 安装Python

1. 下载python离线包
安装包下载地址:https://www.python.org/downloads/source/
我下载的是Python 3.10.14
在这里插入图片描述
下面是linux服务器上的部署过程
2. 系统更新

sudo yum update -y

3. 安装必要的依赖项

sudo yum groupinstall “Development Tools” -y
sudo yum install openssl-devel bzip2-devel libffi-devel -y

2,3步骤可以在盘的主目录下直接执行。

**4. 解压Python-3.10.14.tgz并安装 **

sudo tar xzf Python-3.10.14.tgz # 解压
cd Python-3.10.14 # 进入解压后的包
sudo ./configure --enable-optimizations --prefix=/mnt/data/python3.10 # 设置安装地址,如果/mnt/data/python3.10之前没有,需要新建
sudo make altinstall # 编译并安装

5. 是否安装成功

python3.10 --version
python3.10 # 该命令直接运行python,可以实现编码

此时安装完之后你可以使用python3.10 --version查看,如果你希望python --version
或者python3 --version等格式的命令,你可以通过符号链接将 python 指向 python3.10。

6. 创建符号链接(可选操作)
1)删除现有的 python 符号链接(如果存在,可通过python --version检查,是否返回其他版本):

sudo rm /usr/bin/python

2)创建新的符号链接
python --version
pip --version

sudo ln -s /mnt/data/python3.10/bin/python3.10 /usr/bin/python
sudo ln -s /mnt/data/python3.10/bin/pip3.10 /usr/bin/pip

python3 --version
pip3 --version

sudo ln -s /mnt/data/python3.10/bin/python3.10 /usr/bin/python3
sudo ln -s /mnt/data/python3.10/bin/pip3.10 /usr/bin/pip3

二、下载并安装NVIDIA Driver

进入英伟达官网下载:https://www.nvidia.com/Download/index.aspx#
目前pytorch最高支持CUDA Toolkit 12.1,尽管CUDA已经更新到12.5。暂时没有CUDA Toolkit 12.1可选,所以就选择离12.1最近的CUDA Toolkit 12.2。
在这里插入图片描述
在这里插入图片描述
下面是安装过程:
1. 先安装一些依赖

sudo yum install epel-release
sudo yum update
sudo yum install pkgconfig libglvnd-devel

2. 安装
直接在NVIDIA-Linux-x86_64-535.161.08.run所在文件夹执行,脚本会自动配置安装位置

chmod +x NVIDIA-Linux-x86_64-535.161.08.run # 先赋予权限
sh ./NVIDIA-Linux-x86_64-535.161.08.run -s --no-x-check # 安装
nvidia-smi # 检查是否安装成功

下图为例图证明安装成功:
在这里插入图片描述

三、下载并安装CUDA

上面提到了在安装Nvidia驱动的时候,选择CUDA版本是12.2,因此,我们在下载的时候也要下载12.2的。下载地址:https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述
根据自己的机器,选择合适的安装包,直接在浏览器地址栏输入地址:https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run,直接先下载
在这里插入图片描述
下面是安装过程:
(1)上传至服务器,进入到安装包目录,执行以下命令安装

sudo sh cuda_12.2.0_535.54.03_linux.run

(2)运行后在出现的页面中执行以下操作

输入 accept,继续执行

到下面这个页面时,在Driver行,按Enter,会取消掉CUDA自带驱动的安装,因为我们已经安装过了,取消掉的状态是没有前面的X了。
然后⬇到Install,按Enter,继续执行。
在这里插入图片描述
安装完成后,会出现下面的内容:
因为是内网无法截图和粘贴东西,以下内容参考文章:https://blog.csdn.net/weixin_46398647/article/details/137666448

===========
= Summary =
===========

Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-12.2/

Please make sure that
 -   PATH includes /usr/local/cuda-12.2/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-12.2/lib64, or, add /usr/local/cuda-12.2/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-12.2/bin
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 535.00 is required for CUDA 12.2 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
    sudo <CudaInstaller>.run --silent --driver

Logfile is /var/log/cuda-installer.log

根据上面的提示信息设置路径:

export PATH=/usr/local/cuda-12.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

输入命令nvcc -V进行检验:

[root@Nvidia-Tesla-T4 Downloads]# nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Jun_13_19:16:58_PDT_2023
Cuda compilation tools, release 12.2, V12.2.91
Build cuda_12.2.r12.2/compiler.32965470_0

三、下载并安装CuDNN

(1)下载CuDNN
下载地址:https://developer.nvidia.com/cudnn-archive
因为服务器的操作系统是RHEL7.9的,目前看只有9.0.0支持该系统,所以下载的是9.0.0,如果你是RHEL8或9可以选择其他版本
在这里插入图片描述
在这里插入图片描述
浏览器地址栏输入:https://developer.download.nvidia.com/compute/cudnn/9.0.0/local_installers/cudnn-local-repo-rhel7-9.0.0-1.0-1.x86_64.rpm,即可下载

(2)安装
拷贝到内网,在文件目录下执行以下命令:

sudo rpm -i cudnn-local-repo-rhel7-9.0.0-1.0-1.x86_64.rpm
sudo yum clean all
sudo yum -y install cudnn

这样就安装完成了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1933438.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构(双向链表)

链表的分类 链表的结构⾮常多样&#xff0c;以下情况组合起来就有8种&#xff08;2 x 2 x 2&#xff09;链表结构&#xff1a; 虽然有这么多的链表的结构&#xff0c;但是我们实际中最常⽤还是两种结构&#xff1a;单链表和双向带头循环链表 1.⽆头单向⾮循环链表&#xff1a…

【ROS2】高级:解锁 Fast DDS 中间件的潜力 [社区贡献]

目标&#xff1a;本教程将展示如何在 ROS 2 中使用 Fast DDS 的扩展配置功能。 教程级别&#xff1a;高级 时间&#xff1a;20 分钟 目录 背景 先决条件在同一个节点中混合同步和异步发布 创建具有发布者的节点创建包含配置文件的 XML 文件执行发布者节点创建一个包含订阅者的节…

AI伦理挑战:构建未来信任的桥梁

在人工智能(AI)技术蓬勃发展的今天&#xff0c;其伦理挑战如同双刃剑的另一面&#xff0c;日益成为全球关注的焦点。面对隐私侵犯、算法偏见、信息真实性危机等伦理困境&#xff0c;我们需要构建全面而精细的应对策略&#xff0c;确保技术进步的同时&#xff0c;守护人类社会的…

MimicMotion-腾讯开源视频生成框架

腾讯宣布开源可控视频生成框架 MimicMotion&#xff0c;该框架可以通过提供参考人像及由骨骼序列表示的动作&#xff0c;来产生平滑的高质量人体动作视频 MimicMotion 具有以下几个亮点&#xff1a; 首先&#xff0c;通过引入了置信度感知的姿态引导信号&#xff0c;大幅提升了…

读书笔记:改善既有代码的设计

差不多两年都没写过博客了&#xff0c;好学的习惯差不多都落下了&#xff0c;两年里几乎也把学到的很多东西都应用了&#xff0c;但不学习好像就有点停步不前的感觉了&#xff0c;以后给自己定个目标每周写一遍博客。 写博客好处&#xff1a; 一是加深自己的印象&#xff08;能…

幽微之处见真章:数据类型与内存存储的内在联系

嘿嘿,家人们,今天咱们来深度剖析数据类型在内存中的存储,好啦,废话多不讲,开干! 1.:数据类型介绍 在前面呢,博主已经介绍了基本的数据类型: char //字符数据类型 ---->占据1个字节 short //短整型 …

51单片机STC89C52RC——18.1 HC-SR04超声波测距

目的/效果 独立按键K1按下后开始测距&#xff0c;LCD显示距离&#xff08;mm&#xff09; 一&#xff0c;STC单片机模块 二&#xff0c;HC-SR04 超声波测距 2.1 HC-SR04 简介 HC-SR04超声波测距模块提供2cm~400cm的测距功能&#xff0c;精度达3mm。 2.2 时序 以上时序图表明…

前端面试题(JS篇五)

一、同步与异步的区别 同步指的是当一个进程在执行某一个请求的时候&#xff0c;如果这个请求需要等待一段时间才能返回&#xff0c;那么这个进程会一直等待下去&#xff0c;直到这个消息返回之后才会继续执行。 指的是当一个进程在执行某一个请求的时候&#xff0c;如果这个请…

Leetcode 1302.层数最深子叶结点的和

大家好&#xff0c;今天我给大家分享一下我关于这个题的想法&#xff0c;我这个题过程比较复杂&#xff0c;但大家如果觉得好的话&#xff0c;就请给个免费的赞吧&#xff0c;谢谢了^ _ ^ 1.题目要求: 给你一棵二叉树的根节点 root &#xff0c;请你返回 层数最深的叶子节点的…

初学者如何通过建立个人博客盈利

建立个人博客不仅能让你在网上表达自己&#xff0c;还能与他人建立联系。通过博客&#xff0c;可以创建自己的空间&#xff0c;分享想法和故事&#xff0c;并与有相似兴趣和经历的人交流。 本文将向你展示如何通过建立个人博客来实现盈利。你将学习如何选择博客主题、挑选合适…

【华为OD笔试】2024D卷命题规律解读【分析300+场OD笔试考点总结】

可上 欧弟OJ系统 练习华子OD、大厂真题 绿色聊天软件戳 od1441了解算法冲刺训练&#xff08;备注【CSDN】否则不通过&#xff09; 文章目录 相关推荐阅读华为OD笔试2024D卷命题规律解读华为OD算法/大厂面试高频题算法练习冲刺训练 相关推荐阅读 【华为OD笔试】2024D卷机考套题…

Android Framework学习笔记(4)----Zygote进程

Zygote的启动流程 Init进程启动后&#xff0c;会加载并执行init.rc文件。该.rc文件中&#xff0c;就包含启动Zygote进程的Action。详见“RC文件解析”章节。 根据Zygote对应的RC文件&#xff0c;可知Zygote进程是由/system/bin/app_process程序来创建的。 app_process大致处…

LLM 的储备知识

GPT一代 模型堆叠了12个解码器层。由于在这种设置中没有编码器&#xff0c;这些解码器层将不会有普通transformer解码器层所具有的编码器-解码器注意力子层。但是&#xff0c;它仍具有自注意力层。 训练过程 Transformer Decoder 结构 编码器&#xff08;6 layers&#xff09…

Template_C++

C模板 C提供了function template. function template&#xff1a;实际上是建立一个通用函数&#xff0c;其函数类型和形参类型不具体制定&#xff0c;用一个虚拟的类型来代表。这个通用的函数就称为函数模版。 是不是可以这样理解&#xff0c;函数模版就是给了一种功能&…

Linux 下 ElasticSearch 集群部署

目录 1. ElasticSearch下载 2. 环境准备 3. ElasticSearch部署 3.1 修改系统配置 3.2 开放端口 3.3 安装 ElasticSearch 4. 验证 本文将以三台服务器为例&#xff0c;介绍在 linux 系统下ElasticSearch的部署方式。 1. ElasticSearch下载 下载地址&#xff1a;Past Rel…

vue 如何做一个动态的 BreadCrumb 组件,el-breadcrumb ElementUI

vue 如何做一个动态的 BreadCrumb 组件 el-breadcrumb ElementUI 一、ElementUI 中的 BreadCrumb 定义 elementUI 中的 Breadcrumb 组件是这样定义的 <template><el-breadcrumb separator"/"><el-breadcrumb-item :to"{ path: / }">主…

算法 —— LRU算法

算法 —— LRU算法 LRULRU算法的工作原理&#xff1a;实现方法&#xff1a;性能考虑&#xff1a; 模拟过程splice函数对于std::list和std::forward_list基本语法&#xff1a;功能描述&#xff1a; 示例&#xff1a;注意事项&#xff1a; 如果大家已经学习过了Cache的替换算法和…

《人性的弱点》

This book is called ‘How to Win Friends & Influence People’. [COPY] 卡耐基《人性的弱点》有什么干货么&#xff1f;

自学鸿蒙HarmonyOS的ArkTS语言<十>@BuilderParam装饰器

作用&#xff1a;当子组件多处使用时&#xff0c;给某处的子组件添加特定功能 一、初始化 1、只能被Builder装饰的方法初始化 2、使用所属自定义组件的builder方法初始化 3、使用父组件的builder方法初始化 - 把父组件的builder传过去&#xff0c;参数名和子组件的builderPar…

【信号频率估计】MVDR算法及MATLAB仿真

目录 一、MVDR算法1.1 简介1.2 原理1.3 特点1.3.1 优点1.3.2 缺点 二、算法应用实例2.1 信号的频率估计2.2 MATLAB仿真代码 三、参考文献 一、MVDR算法 1.1 简介 最小方差无失真响应&#xff08;Mininum Variance Distortionless Response&#xff0c;MVDR&#xff09;算法最…