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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高德地图 SDK 接口测试接入(AndroidTest 上手)

学习资料 官方文档 在 Android 平台上测试应用 | Android 开发者 | Android Developers 测试了解 【玩转Test】开篇-Android test 介绍 Android单元测试全解_android 单元测试_一代小强的博客-CSDN博客 Android单元测试-对Activity的测试_activitytestrule_许佳佳233的博客…

设计模式-简单工厂模式(静态工厂模式)java实现

介绍 简单工厂模式根据所提供的参数数据返回几个可能类中的一个类的实例。通常返回的类都有一个公共的父类和公共的方法。 意图 提供一个类,负责根据一定的条件创建某一具体类的实例。同时使用工厂模式也是为了隐藏创建对象的过程 角色及其职责 (1)工厂(Creator…

GIT-HUB上传大文件.docx

下载git Github上传大文件(>25MB)教程_UestcXiye的博客-CSDN博客 上传流程 https://blog.csdn.net/weixin_35770067/article/details/116564429?spm1001.2101.3001.6661.1&utm_mediumdistribute.pc_relevant_t0.none-task-blog-2%7Ed…

链表——LinkedList类的概述和实现

LinkedList类 1.1LinkedList类概述 LinkedList类底层是基于双向链表结构实现的,不同于ArrayList类和Vector类是基于数组实现的;LinkedList类是非线程安全的;LinkedList类元素允许为null,允许重复元素;LinkedList类插…

融云:从「对话框」跳进魔法世界,AIGC 带给社交的新范式

8 月 17 日(周四),融云将带来直播课-《北极星如何协助开发者排查问题与预警风险?》欢迎点击上方报名~ AIGC 与社交结合的应用主要分两种,一是发乎于 AIGC,以大模型为基础提供虚拟伴侣等服务的 App&#xff…

Python web实战之Django 的 RESTful API 设计详解

关键词: Python, Web 开发, Django, RESTful API 1 API的一些事儿 1.1 什么是API? API是应用程序编程接口(Application Programming Interface)的缩写。它是一种定义了不同软件组件之间交互方式的规范。API允许不同的应用程序之间进行通信和…

kubernetes基于helm部署gitlab-operator

kubernetes基于helm部署gitlab-operator 这篇博文介绍如何在 Kubernetes 中使用helm部署 GitLab-operator。 先决条件 已运行的 Kubernetes 集群负载均衡器,为ingress-nginx控制器提供EXTERNAL-IP,本示例使用metallb默认存储类,为gitlab p…

AWD攻防学习总结(草稿状态,待陆续补充)

AWD攻防学习总结 防守端1、修改密码2、备份网站3、备份数据库4、部署WAF5、部署文件监控脚本6、部署流量监控脚本/工具7、D盾扫描,删除预留webshell8、代码审计,seay/fortify扫描,漏洞修复及利用9、时刻关注流量和积分信息,掉分时…

Java经典面试题总结(一)

Java经典面试题总结(一) 题一:Java编译运行原理题二:JDK,JVM,JRE三者之间的关系题三:谈一下对冯诺依曼体系的了解题四:重载与重写的区别题五:拆箱装箱是指什么&#xff1…

在矩池云使用ChatGLM-6B ChatGLM2-6B

ChatGLM-6B 和 ChatGLM2-6B都是基于 General Language Model (GLM) 架构的对话语言模型,是清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同发布的语言模型。模型有 62 亿参数,一经发布便受到了开源社区的欢迎,在中文语义理解和对话生成上有…

Flink多流处理之connect拼接流

Flink中的拼接流connect的使用其实非常简单,就是leftStream.connect(rightStream)的方式,但是有一点我们需要清楚,使用connect后并不是将两个流给串联起来了,而是将左流和右流建立一个联系,作为一个大的流,并且这个大的流可以使用相同的逻辑处理leftStream和rightStream,也可以…

学习pytorch

学习pytorch 1. 环境安装配置镜像源conda命令记录遇到的问题1. torch.cuda.is_available() False 1. 环境安装 B站小土堆视频 配置镜像源 conda config --show channels conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/mainhttp://www.m…

canvas实现代码雨

学习抖音&#xff1a; 渡一前端必修课 效果图&#xff1a; 全部代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge">&…

idea使用protobuf

本文参考&#xff1a;https://blog.csdn.net/m0_37695902/article/details/129438549 再次感谢分享 什么是 protobuf &#xff1f; Protocal Buffers(简称protobuf)是谷歌的一项技术&#xff0c;用于结构化的数据序列化、反序列化。 由于protobuf是跨语言的&#xff0c;所以用…

【Linux命令行与Shell脚本编程】第十六章 Shell函数

Linux命令行与Shell脚本编程 第一章 文章目录 Linux命令行与Shell脚本编程六.函数6.1.脚本函数基础6.1.1.创建函数6.1.2.使用函数 6.2.函数返回值6.2.1.默认的退出状态码6.2.2.使用return命令6.2.3.使用函数输出 6.3.函数中使用变量6.3.1.向函数传递参数6.3.2.在函数中处理变量…

Spring 是如何解决循环依赖问题的?

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 例如&#xff1a;项目场景&#xff1a;示例:通过蓝牙芯片(HC-05)与手机 APP 通信&#xff0c;每隔 5s 传输一批传感器数据(不是很大) 问题描述 我们都知道&#xff0c;如果在代码中&#xff0c;将两个…

机器学习深度学习——循环神经网络RNN

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习—语言模型和数据集 &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习 希望文章对你们有所帮助…

c++ 运算符重载

为什么要有运算符重载&#xff1f; 观察下列代码&#xff0c;当我们要比较两个日期类(自定义类型)的大小的时候&#xff0c;我们没法使用编译器自带的小于<符号来比较&#xff0c;就像这样的形式&#xff1a;d1 < d2 我们需要自己写一个函数来进行比较&#xff0c;这是很…

YOLOv5源码中的参数超详细解析(2)— 配置文件yolov5s.yaml

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。YOLOv5配置了5种不同大小的网络模型&#xff0c;分别是YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x&#xff0c;其中YOLOv5n是网络深度和宽度最小但检测速度最快的模型&#xff0c;其他4种模型都是在YOLOv5n的基础上不断…

深度补全算法-CompletionFormer-已开源效果最好

《CompletionFormer: Depth Completion with Convolutions and Vision Transformers 》 摘要 给定稀疏深度和相应的 RGB 图像&#xff0c;深度补全旨在整个图像中空间传播稀疏测量值&#xff0c;以获得密集的深度预测。尽管基于深度学习的深度补全方法取得了巨大进步&#xff0…