当前位置: 首页 > news >正文

ubuntu 20.0.4 搭建nvidia 显卡环境

一、安装docker

1、安装dokcer

sudo apt install docker.io

2、docker 添加到用户组

  • 创建docker用户组
sudo groupadd docker
  • 添加当前用户加入docker用户组
sudo usermod -aG docker ${USER}
  • 重启docker服务
sudo systemctl restart docker
  • 切换或者退出当前账户再从新登入
docker ps

如果当前用户执行无报错, 则表示用户已经加到docker组

3、docker 配置阿里云镜像

vim /etc/docker/daemon.json

daemon.json

{"registry-mirrors": ["https://zfzbet67.mirror.aliyuncs.com"]
}

4、docker 配置汉化工具

  • 拉取镜像:已经有大神准备好了汉化版的镜像,无需自己进行繁杂的汉化操作。
docker pull summary/portainer-ce
  • 已有镜像,加载本地镜像
    在这里插入图片描述
dokcer load -i images.tar
  • 启动镜像
docker run -d -p 1066:9000 -v /var/run/docker.sock:/var/run/docker.sock --restart=always --name=portainer-ce summary/portainer-ce
  • 登录docker管理界
http://localhost:1066/
  • 第一次登陆需要注册
用户名:admin密码:123465

5、相关资料

  • 🐕docker网络基础知识:https://www.whbblog.cn/446.html
  • 🍰Docker镜像发布:https://www.whbblog.cn/440.html
  • 🐫Docker容器数据卷:https://www.whbblog.cn/441.html
  • 💃DockerFile构建镜像:https://www.whbblog.cn/444.html
  • 🕊Docker Compose 容器编排:https://www.whbblog.cn/447.html

二、NVIDIA CONTAINER TOOLKIT 安装

是一个用于在 NVIDIA GPU 上运行容器应用程序的工具包。它提供了一系列的组件和工具,用于管理和优化 GPU 加速的容器化工作负载。

NVIDIA Docker 运行时(nvidia-docker2):它是一个 Docker 运行时插件,允许容器与宿主机共享 NVIDIA GPU 资源。这使得开发人员可以在容器中轻松地访问和使用 GPU 加速功能,无需进行复杂的配置。

1、设置NVIDIA容器工具包

  • 安装curl
sudo apt-get install curl
  • 设置程序包存储库和GPG密钥:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

2、安装nvidia-container-toolkit 程序包(和依赖项):

  • 更新程序列表
sudo apt-get update
  • 安装
sudo apt-get install -y nvidia-container-toolkit
  • 配置Docker守护程序以识别 NVIDIA Container Runtime:
sudo nvidia-ctk runtime configure --runtime=docker

daemon.json

{"registry-mirrors": ["https://zfzbet67.mirror.aliyuncs.com"],"runtimes": {"nvidia": {"path": "/usr/bin/nvidia-container-runtime","runtimeArgs": []}}
}
  • 重启docker
sudo systemctl restart docker
  • 测试
sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

输出一下信息,安装成功。

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.51.06    Driver Version: 450.51.06    CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            On   | 00000000:00:1E.0 Off |                    0 |
| N/A   34C    P8     9W /  70W |      0MiB / 15109MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

三、安装cuda

  • 执行命令,根据提示按回车即可
sudo chmosd -X cuda_11.2.0_460.27.04_linux.run
suod bash cuda_11.2.0_460.27.04_linux.run
  • 添加到环境变量
sudo vim ~/.baschrc# 	结尾添加
export PATH=/usr/bin:/usr/sbin:/usr/local/cuda-11.2/bin
export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64
  • 验证
nvcc -V # 输出以下信息安装成功
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Nov_30_19:08:53_PST_2020
Cuda compilation tools, release 11.2, V11.2.67
Build cuda_11.2.r11.2/compiler.29373293_0

四、cudnn 安装

  • 解压cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz
tar -xvf cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZG12LLfN-1691460393859)(H:\360MoveData\Users\Administrator\Desktop\显卡环境安装包\ubuntu显卡环境安装.assets\image-20230808094350495.png)]

  • includelib分别复制到cuda 安装目录 下的 includelib
sudo cp -r include/* /usr/local/cuda-11.2/include
sudo cp -r lib/* /usr/local/cuda-11.2/lib64

五、TensorRT 安装

  • 解压压缩包,复制到opt目录即可
tar -xvf tensorrt-8.2.5.1.linux.x86_64-gnu.cuda-11.4.cudnn8.2.tar.gz
sudo mv TensorRT-8.2.5.1/ /opt
  • 添加到环境变量,可选
sudo vim ~/.baschrc# 	结尾添加
export PATH=/usr/bin:/usr/sbin:/usr/local/cuda-11.2/bin:/opt/TensorRT-8.2.5.1/bin
export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:/opt/TensorRT-8.2.5.1/lib# 更新资源
source ~/.baschrc

相关文章:

ubuntu 20.0.4 搭建nvidia 显卡环境

一、安装docker 1、安装dokcer sudo apt install docker.io2、docker 添加到用户组 创建docker用户组 sudo groupadd docker添加当前用户加入docker用户组 sudo usermod -aG docker ${USER}重启docker服务 sudo systemctl restart docker切换或者退出当前账户再从新登入 …...

Windows环境下通过 系统定时 执行脚本方式 压缩并备份文件夹 到其他数据盘

环境配置 压缩时需要使用7-zip进行调用,因此根据自己电脑进行安装 官网:https://www.7-zip.org/ 脚本文件 新建记事本文件,重命名为git_back_up.bat echo off rem 设置utf-8可以正常显示中文 chcp 65001 > nulrem 获取当前日期和时间&…...

C++系列二:STL教程-常用算法

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 常用算法 前言算法列举:算法例子 前言 还有一些我在尝试中迷惑不解的,有点玄幻。 算法列举: 排序算法: sort(first, last);…...

【css】渐变

渐变是设置一种颜色或者多种颜色之间的过度变化。 两种渐变类型: 线性渐变(向下/向上/向左/向右/对角线) 径向渐变(由其中心定义) 1、线性渐变 语法:background-image: linear-gradient(direction, co…...

idea打开多个项目需要开多个窗口(恢复询问弹窗)

【版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任】【创作不易,点个赞就是对我最大的支持】 前言 仅作为学习笔记,供大家参考 总结的不错的话,记得点赞收藏关注哦! 使用…...

篇十三:策略模式:选择不同算法

篇十三:“策略模式:选择不同算法” 设计模式是软件开发中的重要知识,策略模式(Strategy Pattern)是一种行为型设计模式,用于在运行时根据不同的需求选择不同的算法或行为。本文将探讨策略模式的作用和实现…...

Centos7.6 安装mysql过程全记录

在centos 7.6上 离线安装mysql 的步骤,可参考下文: 一、查看当前MySQL的安装情况并卸载 1. 查看当前MySQL的安装情况 查找之前是否安装了MySQL rpm -qa|grep -i mysql 2.卸载mysql 如果已经安装mysql,则需要先停止MySQL,再删除…...

Java中的Guava是什么?

Java中的Guava是一个非常强大的Java库,它提供了很多实用的工具类和方法,可以帮助我们更高效地开发Java应用程序。从新手的角度来看,Guava可以让我们在Java编程中变得更加简单、快速和高效。 Guava的命名来源于“Google’s favorite Java lib…...

vue.js兄弟组件方法调用b组件调用a组件方法

vue.js 中兄弟组件方法调用 场景:父组件中同时引入两个子组件(A和B),此时B组件点击按钮需要调用A组件里面的方法 方案1:vue的事件总线 方案2:自定义事件($emit) 最终方案&#xff1a…...

【Kubernetes】二进制搭建

目录 二进制搭建 Kubernetes v1.20 操作系统初始化配置 关闭防火墙 关闭selinux 关闭swap 根据规划设置主机名 在master添加hosts 调整内核参数 时间同步 部署 etcd 集群 准备签发证书环境 准备cfssl证书生成工具 生成Etcd证书 上传 etcd-cert.sh 和 etcd.sh 到 …...

【MFC】08.MFC消息,自定义消息,常用控件(MFC菜单创建大总结),工具栏,状态栏-笔记

本专栏上几篇文章讲解了MFC几大机制,今天带领大家学习MFC自定义消息以及常用控件,最常用的控件请查看本专栏第一二篇文章,今天这篇文章介绍工具栏,菜单和状态栏,以及菜单创建大总结。 文章目录 MFC消息分类&#xff1…...

Clickhouse 数据存储

一、数据分区 数据是以分区目录的形式组织的,每个分区独立分开存储.这种形式,查询数据时,可以有效的跳过无用的数据文件。 1.1 数据分区的规则 分区键的取值,生成分区ID,分区根据ID决定。根据分区键的数据类型不同&am…...

c语言每日一练(3)

前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…...

java基础-Stream(流)、File(文件)和IO

Java中的流(Stream)提供了一个统一的接口来处理输入和输出数据,文件(File)提供了一种简单的方式来操作磁盘上的文件,而I/O则允许我们在Java程序中读写数据。 一、流Stream java中得stream是一种抽象概念,流可以从多种来源读取数据&#xff…...

el-table实现指定列合并

table传入span-method方法可以实现合并行或列,方法的参数是一个对象,里面包含当前行row、当前列column、当前行号rowIndex、当前列号columnIndex四个属性。该函数可以返回一个包含两个元素的数组,第一个元素代表rowspan,第二个元素…...

38.利用matlab解 有约束无约束的参数估计对比(matlab程序)

1.简述 1.离散型随机变量的极大似然估计法: (1) 似然函数 若X为离散型, 似然函数为 (2) 求似然函数L(θ)的最大值点 θ, 则θ就是未知参数的极大似然估计值. 2.连续型随机变量的极大似然估计法: (1) 似然函数 若 X 为连续型, 似然函数为 (2) 求似然函数L(θ)的最大值点θ, 则…...

什么是React?React与VU的优缺点有哪些?

什么是React?什么是VUE? 维基百科上的概念解释,Vue.js是一个用于创建用户界面的开源MVVM前端JavaScript框架,也是一个创建单页应用的Web应用框架。Vue.js由尤雨溪(Evan You)创建,由他和其他活跃…...

区块链技术助力慈善,为您的善举赋予全新力量!

我们怀揣着一颗温暖的心,秉承着公开透明的理念,带着信任与责任,倾力打造了一套区块链技术驱动的去中心化捐赠与物资分发系统,通过智能生态网络(IEN)解决捐赠不透明问题的系统,让您的善举直接温暖…...

模拟实现消息队列项目(系列4) -- 服务器模块(内存管理)

目录 前言 1. 创建MemoryDataCenter 2. 封装Exchange 和 Queue方法 3. 封装Binding操作 4. 封装Message操作 4.1 封装消息中心集合messageMap 4.2 封装消息与队列的关系集合queueMessageMap的操作 5. 封装未确认消息集合waitMessage的操作 6. 从硬盘中恢复数据到内存中 7. Memo…...

STM32 LoRa源码解读

目录结构: SX1278 |-- include | |-- fifo.h | |-- lora.h | |-- platform.h | |-- radio.h | |-- spi.h | |-- sx1276.h | |-- sx1276Fsk.h | |-- sx1276FskMisc.h | |-- sx1276Hal.h | |-- sx1276LoRa.h | -- sx1276LoRaMisc.h – src |-- fifo.c |-- lora.c |-- …...

推荐1款全能跨平台下载工具,免费、开源、无广告!

聊一聊下载一直是热话题。特别是遇到自己喜欢的。如电影、电视剧、音乐等等。但并不是所有下载工具都能实现。今天给大家分享一款好用的下载利器。软件介绍全能开源跨平台下载工具Motrix工具只有自己用了才知道好不好用。这是一款无需安装,下载解压即可使用的工具。…...

RT-Thread v5.2.2内核与驱动深度优化:调度、CAN、串口与生态工具全面解析

1. 项目概述:RT-Thread v5.2.2 版本深度解析作为一名在嵌入式领域摸爬滚打多年的开发者,每次看到像RT-Thread这样的主流实时操作系统发布新版本,我都会习惯性地去“扒一扒”更新日志。这不仅仅是看热闹,更是为了评估它能否解决我手…...

告别传统打捞船:浅析‘子母船’协同算法如何解决水库、湖泊的浅水区垃圾清理难题

水域清洁革命:子母船协同算法如何重塑浅水区垃圾治理格局 清晨的阳光洒在湖面上,波光粼粼中却漂浮着刺眼的塑料瓶和食品包装——这是全球水库、湖泊管理者每天都要面对的环保噩梦。传统清漂方式在浅水区域显得力不从心,而一种融合了分布式机…...

RT-Thread软定时器漂移问题深度解析与实战优化

1. 项目概述:从一次线上告警说起那天下午,系统监控平台突然弹出一连串的告警,核心业务模块的周期性任务执行间隔出现了肉眼可见的抖动,从预期的100毫秒,漂移到了130毫秒甚至更长。排查了一圈硬件、中断和任务调度&…...

别再只用JSON了!聊聊Qt里QDataStream的二进制序列化优势与避坑指南

二进制序列化新选择:Qt中QDataStream的高效实践与深度解析 在Qt开发者的工具箱里,JSON和XML常被视为数据交换的默认选择,但当面对高性能、紧凑存储或跨版本兼容性需求时,二进制序列化方案往往能带来意想不到的优势。QDataStream作…...

全息三维空间孪生,全域无感精准智位系列:UWB:多路径干扰精度失稳|镜像:多源时空误差融合

在全域空间数字化、实景虚实融合与空间智能快速演进的产业周期中,镜像视界(浙江)科技有限公司持续深耕视频原生三维重构、时空AI像素解算、全域无感精准定位、跨镜轨迹智能推演底层核心领域,依托八大自主可控核心引擎构筑全栈技术…...

麒麟系统离线部署OnlyOffice,我踩过的那些坑(附Docker镜像包和完整配置)

麒麟系统离线部署OnlyOffice实战避坑指南 在国产化替代浪潮中,麒麟系统作为主流国产操作系统,正逐步应用于各类关键信息基础设施领域。而办公软件作为日常刚需,如何在麒麟系统上实现高效、安全的文档协作成为许多技术团队面临的挑战。OnlyOff…...

巡检记录分析不全面,导致安全隐患遗漏频发怎么办?揭秘实在Agent非侵入式提效方案

摘要:在2026年工业4.0与智慧安全深度融合的背景下,许多企业仍面临“巡检记录分析不全面,安全隐患遗漏频发”的顽疾。传统的纸质记录或初级数字化巡检,往往因数据孤岛、老旧系统无API接口、以及AI无法触达内网执行层等问题&#xf…...

别再死记硬背公式了!用Python动画直观理解SAR距离徙动(附代码)

用Python动画拆解SAR距离徙动:从数学恐惧到视觉理解 雷达工程师们常开玩笑说,合成孔径雷达(SAR)成像有两个门槛:一个是昂贵的硬件设备,另一个是让人望而生畏的数学公式。当我第一次看到距离徙动&#xff08…...

CANN/asc-devkit:ReduceAll临时空间大小获取

GetReduceAllMaxMinTmpSize 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: http…...