Ubuntu使用Tesla P4配置Anaconda+CUDA+PyTorch

我们之前测试了在Windows系统如何安装Tesla M4成了!Tesla M4+Windows 10+Anaconda+CUDA 11.8+cuDNN+Python 3.11,前面安装好了Ubuntu 22.04.4的操作系统Ubuntu 22.04.4安装Docker引擎。今天,简单测试一下在Ubuntu系统上如何把新买的Tesla P4用起来。

首先,我们到NVIDIA官网找到Ubuntu 22.04对应的驱动,下载下来。

022af7de376deea13b383d3d4d51a73f.png

这里可以看到,基本上数据中心GPU的驱动都是通用的,从最低端的Tesla M4,到最高端的H系列和L系列,一个驱动文件通杀了。

驱动文件的现在链接如下:    

https://cn.download.nvidia.cn/tesla/550.54.15/nvidia-driver-local-repo-ubuntu2204-550.54.15_1.0-1_amd64.deb

下载完成后,对于deb文件,一般有两种安装方式:命令行或者GUI图形界面。GUI图形界面非常简单,只需要在文件管理器中找到下载好的.deb文件并双击运行即可,之后系统会自动调用软件安装程序。根据图形界面中显示的软件相关信息,点击“安装”按钮开始安装过程,直至安装完成。

但对于我来讲,配置了GPU之后,控制台会因为缺少驱动卡在POST页面,所以还是需要先通过命令行方式来安装驱动。

命令行方式主要使用dpkg命令进行安装,命令如下:

dpkg -i nvidia-driver-local-repo-ubuntu2204-560.35.03_1.0-1_amd64.deb

bc5d5ab322155c4355dd1333a6f090ac.png

初次尝试安装时,系统可能会提示公钥(GPG key)未安装。为了能够信任NVIDIA提供的软件包仓库,我们需要执行以下命令,将NVIDIA的公钥复制到系统的keyrings目录下:

cp /var/nvidia-driver-local-repo-ubuntu2204-560.35.03/nvidia-driver-local-73056A76-keyring.gpg /usr/share/keyrings/

然后再次执行安装命令,此时,最新版本已经加载到本地仓库。

599615a93a59a23466638c66b2b52cd7.png

完成之后,运行以下命令更新软件包列表。

apt update

接下来,使用以下命令来安装最新版本的NVIDIA驱动,指定版本号为550。

apt install -y nvidia-driver-560

be6e1c3e2253d9887edca940386da05d.png

安装完毕后,执行reboot命令重启系统,让新安装的NVIDIA驱动生效。重启后,运行nvidia-smi命令,查看NVIDIA驱动是否加载成功。

nvidia-smi

788ee3b82573d400ca857482fbe70a62.png

如果在桌面进行查看,通过Nvidia X Server Setting可以看到设备信息的图形展示。

a0e9fb0c5c600de84932724ac9b11802.png

设备信息。    

4be1f41013008e963721d7c8b6e2f616.png

安装好了驱动程序,接下来,我们来安装CUDA。

首先,安装实际情况选择CUDA的环境配置,如下图所示:

1ecd039d318bb9908b666e48013abbce.png

不太建议选择使用runfile文件,编译可能会遇到问题,报错太多,不好解决。按照提示,下载并安装deb程序,整体和安装驱动的过程类似。

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.6.2/local_installers/cuda-repo-ubuntu2204-12-6-local_12.6.2-560.35.03-1_amd64.deb
dpkg -i cuda-repo-ubuntu2204-12-6-local_12.6.2-560.35.03-1_amd64.deb

260714be77543b3c187257f87102ecc5.png    

安装CUDA套件。

cp /var/cuda-repo-ubuntu2204-12-6-local/cuda-*-keyring.gpg /usr/share/keyrings/
apt-get update
apt-get -y install cuda-toolkit-12-6

260adc95b6338f7a1df63b8c06818a32.png

CUDA提供了两种安装模式,传统内核的cuda-drivers和开发内核的nvidia-open。nvidia-open是NVIDIA提供的一种开源内核模块选项,适用于对图形性能要求不是极高,更注重软件开放性和兼容性的场景;cuda-drivers是NVIDIA的传统(闭源)驱动选项,用于支持CUDA技术,适用于需要进行高性能计算或专业图形处理的场景,这些场景对GPU的计算能力和高级图形功能有较高的要求。

所以,我们本次选择安装传统内核模块cuda-drivers,执行以下命令:

apt-get install -y cuda-drivers

安装完成后,查看CUDA版本信息。    

b7f7c2bb9808b73347dae0cfe004da56.png

接下来,安装Anaconda。先下载安装脚本:

wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh

然后赋予可执行权限并执行:

chmod +x Anaconda3-2024.10-1-Linux-x86_64.sh
sh Anaconda3-2024.10-1-Linux-x86_64.sh

87440dfc3d31740c2119bf7fa72b1e34.png

按照提示完成安装。    

1fe1b8459a70b3e49b79146257f0c992.png

默认情况下,Anaconda的Shell文件没有加载。

4d6a1f0953017102acbea204e43397a2.png

如果在上一步没有启用,在安装完成后,需要执行以下命令设置环境变量设置、激活Conda的Hook机制,并将conda集成到Shell的启动过程,之后就可以执行conda命令了。    

/root/anaconda3/etc/profile.d/conda.sh

fd55f55e406fd5f40d3118ee282cda24.png

安装完成后,创建一个pytorch环境,并激活。

conda create --name pytorch python = 3.10    
conda activate pytorch

3d790bc3398c5e0b44b58e94c3d337b5.png    

然后就可以参照官网选项,获取安装命令了。

0aa33f2ce072d6407e51644d8c0779c4.png

执行以下命令完成PyTorch环境部署

conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia

dc0ddcf4ee045420610047bf4bd80d93.png

安装完成后,我们执行以下命令检验GPU设备是否可用。

import torch  
if torch.cuda.is_available():print("GPU可用")device_name = torch.cuda.get_device_name(0)print("设备名称:", device_name)# 获取GPU属性(显存大小)device_properties = torch.cuda.get_device_properties(0)    print("总显存大小:", device_properties.total_memory)

214b646af5e2f7891b3a141ac22b180d.png

GPU设备检验成功,我们再运行一下矩阵运算,对比一下运算速度。

import torch
import time
size = (20000,20000)
input_cpu = torch.randn(size)
input_gpu = input_cpu.to(torch.device('cuda'))
# 在CPU上执行矩阵乘法(耗时操作)
start_time_cpu = time.time()
output_cpu = torch.mm(input_cpu, input_cpu.t())
duration_cpu = time.time() - start_time_cpu
# 在GPU上执行同样的操作
start_time_gpu = time.time()
output_gpu = torch.mm(input_gpu, input_gpu.t().to(torch.device('cuda')))    
duration_gpu = time.time() - start_time_gpu
print(f"CPU矩阵乘法运行时间: {duration_cpu:.6f} 秒")
print(f"GPU矩阵乘法运行时间: {duration_gpu:.6f} 秒")

13ceaae7275509bed334d1a1e44a8490.png

CPU的运算时间是10.2秒,GPU的运算时间为0.035474,差了大约286倍。    

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

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

相关文章

少儿编程参培意愿地图:一二线城市热情高涨,低线城市市场待挖掘

随着少儿编程的普及,编程教育逐渐走进越来越多家庭。然而,少儿编程的地域分布显示出明显的差异:在一二线城市中,家长对少儿编程的接受度和参与度显著高于低线城市。本文将通过对地域分布和家长态度的分析,探讨少儿编程…

基于SSM演出道具租赁系统的设计

管理员账户功能包括:系统首页,个人中心,用户管理,商家管理,道具类型管理,道具出租管理,租赁订单管理,道具归还管理,系统管理 商家账号功能包括:系统首页&…

【Spring】Spring 核心和设计思想

Spring 核心和设计思想 1.什么是 Spring1.1 传统程序开发1.2 控制反转程序开发 2.理解 Spring IoC 1.什么是 Spring 我们通常所说的 Spring 指的是 Spring Framework(Spring 框架),它是⼀个开源框架,有着活跃而庞大的社区&#x…

【C语言学习笔记】

C语言发展史: 1960 原型A语言->ALGOL语言 1963 CPL语言1967 BCPL1970 B语言1973 C语言 C语言特点: 基础性语言语法简洁 紧凑 方便 灵活(得益于指针)运算符 数据结构丰富结构化 模块化编程移植性好 执行效率…

STL学习-无序容器-unordered set和unorderde multiset

1.定义及初始化 #include <unordered set> #include <iostream> using namespace std; //输出s中的所有元素 template<typename T> void Show(const T& s) { for(auto&x:s) cout << x<<" ";cout << endl; } int main()…

玩转Docker | Docker基础入门与常用命令指南

玩转Docker | Docker基础入门与常用命令指南 引言基本概念help帮助信息常用命令管理镜像运行容器构建镜像其他Docker命令整理结语引言 Docker 是一种开源的应用容器引擎,它允许开发者将应用程序及其依赖打包进一个可移植的容器中,然后发布到任何流行的 Linux 机器上。这大大简…

基于SSM医药进出口交易系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;商品信息管理&#xff0c;仓储部门管理&#xff0c;供应部门管理&#xff0c;业务部门管理&#xff0c;客户管理&#xff0c;财务部管理 业务部门账号功能包括&#xff1a;系统首页&#xff0c;个人中…

2024年大湾区杯粤港澳金融数学建模赛题浅析——助攻快速选题

一图流 赛题难度 A:B2:1 选题人数 A:B2:3 A题&#xff1a;证券市场投资风险控制模型设计 问题简述 随着金融市场的发展&#xff0c;系统性风险的管理变得越来越重要。本题要求通过量化方法测度和监测系统性风险&#xff0c;设计风险计量指标&#xff0c;并基于这些指标构建预…

胡壮麟《语言学教程》第五版PDF英文版+中文版翻译

胡壮麟《语言学教程》中文版&#xff1a;https://pan.quark.cn/s/9491130ec572 《语言学教程》&#xff08;英文版&#xff09;是一部经典的语言学教材&#xff0c;自 1988 年面世以来&#xff0c;被众多高校广泛采用&#xff0c;长销不衰。该教材自出版以来不断修订&#xff…

基于Pycharm和Django模型技术的数据迁移

1.配置数据库 在trip_server/settings.py中修改配置&#xff1a; 其格式可访问官网&#xff1a;Settings | Django documentation | Django 1.1 配置数据库 文件地址&#xff1a;trip_server/settings.py 配置前需要创建&#xff08;NaviCat&#xff09;个人数据库 "…

java访问华为网管软件iMaster NCE的北向接口

最近做的一个项目&#xff0c;需要读取华为一个叫iMaster NCE的网管软件的北向接口。这个iMaster NCE&#xff08;以下简称NCE&#xff09;用于管理项目的整个网络&#xff0c;尤其是光网络。业主要求我们访问该软件提供的对外接口&#xff0c;读取一些网络信息&#xff0c;比如…

InstructIR: High-Quality Image Restoration Following Human Instructions 论文阅读笔记

这是Radu大佬所在的Wrzburg大学的computer vision lab实验室发表在ECCV2024上的一篇论文&#xff0c;代码开源。文章提出了一种文本引导的All-in-One的restoration模型&#xff0c;如下图所示&#xff1a; 这个工作其实跟"InstructPix2Pix: Learning to Follow Image Edit…

【实用教程】.NET C# PDF 生成技术:哪种方法适合您的项目?

概述&#xff1a;本文介绍了 TX Text Control 真正的 WYSIWYG&#xff08;所见即所得&#xff09;模板系统所带来的独特优势&#xff0c;与传统的 PDF 生成系统&#xff08;如 HTML 到 PDF 转换器或需要自定义编程的 PDF 库&#xff09;相比&#xff0c;模板是可视化设计的&…

notepad++ compare插件的离线下载和安装

一、离线安装 去改地址找到最新的插件&#xff1a;https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x64.md下载之后复制到插件文件夹&#xff0c;插件文件夹的打开方式如下 注意目录&#xff1a; 二、问题汇总 &#xff08;1&#xff09…

echarts地图,柱状图,折线图实战

1.地图 <template><div style"height: 100%;" class"cantainerBox"><div class"top"><div class"leftTop"><span class"firstSpan">推广进度</span><div>省份选择&#xff1a;&l…

HTB:Cicada[WriteUP]

目录 连接至HTB服务器并启动靶机 使用nmap对靶机进行开放端口扫描 使用nmap对靶机开放端口进行脚本、服务信息扫描 首先尝试空密码连接靶机SMB服务 由于不知道账户名&#xff0c;这里我们使用crackmapexec对smb服务进行用户爆破 通过该账户连接至靶机SMB服务器提取敏感信…

张嘉译王海燕婚姻告急?17年长跑终落幕,真相究竟如何?

娱乐圈又一对金童玉女分道扬镳&#xff1f;在这个瞬息万变的娱乐圈里&#xff0c;爱情似乎总是来得快去得也快。近日&#xff0c;一则关于实力派演员张嘉译与妻子王海燕结束17年婚姻长跑的消息&#xff0c;如同一颗重标题&#xff1a;&#x1f494;张嘉译王海燕婚姻告急&#x…

我的电视 左侧列表内置版 | 非常高清,频道丰富的电视直播应用

我的电视是一款专注于电视直播的应用程序&#xff0c;提供丰富且全面的电视频道&#xff0c;包括央视及各大卫视。无论您是想看新闻、体育、电影还是综艺节目&#xff0c;都可以在这里找到。应用支持高清画质播放&#xff0c;确保流畅无卡顿的观看体验。简洁的界面设计和智能推…

Conmi的正确答案——在Kibana中进入Elasticsearch的索引管理页面

Elasticsearch版本&#xff1a;7.17.25 Kibana版本&#xff1a;7.17.25 注&#xff1a;索引即类似mysql的表。 0、进入首页 1、未创建任何“索引模式”时&#xff1a; 1.1、点击左边的三横菜单&#xff1b; 1.2、点击“Discover”&#xff0c;进入“发现”页面&#xff1b; 2…

在线体验Sketch中文版,免费下载即刻上手!

Sketch是一款轻量而高效的矢量设计工具&#xff0c;助力全球设计师创造了诸多惊艳作品。安装Sketch的优势主要体现在其矢量编辑、控件和样式功能上。而下载安装“Sketch中文版”即时设计同样出色&#xff0c;它作为一站式设计平台&#xff0c;功能更全面。即时设计拥有纯中文的…