Debian 下 CUDA 生产环境配置笔记

2023-05-16

最近整了张 Tesla P4,由于是半高卡,索性就直接将其塞进了我的 NAS 里,试图将原来用 onnx 跑在 CPU 上的模型迁移至 GPU 上,遇到了些许问题,在此记录下。

本文地址:blog.lucien.ink/archives/534

0. 前言

由于是用于生产环境,我的所有服务(包含本次要迁移的模型)都是容器化运行的,所以我这次也是考虑用 NVIDIA Docker 2 来进行生产部署。

我的操作系统是 Debian 11 x64,运行在 i3-12100 上。

对本篇文章的读者,我在这里假定你已装好 Docker,若没有,可以参考 Docker 入门手记。

1. 环境部署

1.1 下载驱动

前往 Official Drivers | NVIDIA 下载 Tesla P4 的驱动,CUDA Toolkit 记得不要选 Any,否则会给你一个十分旧的驱动,会影响 nvidia docker (CUDA >= 11.6) 的安装。

由于实际运行是在 docker 内,所以在稳定的前提下,宿主机的 CUDA 版本是越新越好,在这里我选择 CUDA 12.0 版本。

1.2 系统准备

1.2.1 禁用 Nouveau

这一步是必要的,因为 Nouveau 也是 NVIDIA GPU 的驱动程序,参考 nouveau - 維基百科。

  1. 创建文件
touch /etc/modprobe.d/blacklist-nouveau.conf
  1. 在文件中写入以下内容:
blacklist nouveau
options nouveau modeset=0
  1. 重新生成 kernel initramfs
update-initramfs -u
  1. 重启
reboot

1.2.2 安装编译环境

参考 Nvidia unable to find kernel source tree

apt install linux-headers-`uname -r` build-essential

1.3 安装驱动

直接 chmod +x 然后运行驱动安装程序即可,不赘述。

1.4 安装 NVIDIA Docker

据我观察,NVIDIA Docker 2 类似是 Docker 的一个插件,让原生的 Docker 可以调用 NVIDIA Driver。

1.4.1 添加源

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | 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' | \
            tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

1.4.2 安装

apt update
apt install -y nvidia-docker2
systemctl restart docker

1.4.3 测试

docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

如果能看到 nvidia-smi 的内容,则代表安装成功了。

3. 参考文档

  • Installation Guide - NVIDIA Cloud Native Technologies
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Debian 下 CUDA 生产环境配置笔记 的相关文章

  • 锐捷网络交换机配置命令大全

    欢迎关注微信公众号 xff1a 厦门微思网络 关注我 xff0c 你的眼睛会怀孕 基本配置 gt Enable 进入特权模式 Exit 返回上一级操作模式 End 返回到特权模式 write memory 或copy running con
  • 【Docker】搭建nextcloud私有网盘并映射外网

    背景 家里的老式电脑闲置着 xff0c 试着用docker 43 nextcloud搭建一个自己的网盘 xff0c 但是搭建完了用frp外网映射完了 xff0c 域名访问被限制 提示信息如下 xff1a 通过不被信任的域名访问请联系您的管理
  • 【Windows】解决.bat文件无法打开的问题

    以管理员身份打开cmd xff0c 输入assoc bat 61 batfile xff0c 回车
  • 【SpringBoot】banner在线生成网站

    1 文字转文本 https www bootschool net ascii 2 文字转文本 http www network science de ascii 3 图片转文本 https www degraeve com img2txt
  • 【deepin】安装x11vnc和xrdp,使用windows远程deepin

    一 环境准备 1 已安装deepin xff08 虚拟机或物理机 xff0c 安装教程自行查询 xff0c 很简单 xff09 xff0c 此处用的社区版deepin20 1做测试 xff08 目前已更新到20 2 xff09 2 启用ro
  • 【Python】使用nexus搭建使用pip仓库

    搭建环境 1 安装nexus3 参考 xff1a Maven 使用nexus搭建maven私有仓库 2 创建Blob Stores Name xff1a pypi Path xff1a 选择存储路径 3 创建Repositories代理 点
  • 【前端】使用nexus搭建本地npm仓库

    搭建环境 1 创建Blob Stores Name xff1a npm 2 创建Repository 创建npm hosted xff0c 填写Blob store xff1a npm 创建npm proxy xff0c 填写Blob st
  • 【Docker】docker指定mac地址启动

    1 使用命令 mac address 61 ae ac ae 71 1c 2c 2 启动示例 docker run d restart 61 always mac address 61 ae ac ae 71 1c 2c name redi
  • 【ICE学习】IceBox管理服务(C#)

    前提条件 xff1a 已安装VS2012和ICE3 5 1 xff0c ICE安装包 xff1a https download csdn net download xmzmqx 12928570 安装搭建环境比较简单 xff0c 请自行百度
  • 1.4编程基础之逻辑表达式与条件分支

    01 判断数正负 总时间限制 1000ms 内存限制 65536kB 描述 给定一个整数N xff0c 判断其正负 输入 一个整数N 109 lt 61 N lt 61 109 输出 如果N gt 0 输出positive 如果N 61 0
  • ubuntu kylin 14.04 中文切换到英文

    1 修改 etc default locale文件 LANG 61 34 en US UTF 8 34 LANGUAGE 61 34 en US en 34 2 修改 etc environment文件 LANG 61 34 en US U
  • 结构体嵌套与结构体指针

    struct和typedef struct 首先是结构体的定义格式 分三块来讲述 xff1a 1 首先 xff1a 注意在C和C 43 43 里不同 在C中定义一个结构体类型要用typedef typedef struct Student
  • python源设置及查看

    记录一下 python 设置源及查看方法 xff1a span class token comment 查看设置 span python m pip config list span class token comment 设置源 span
  • linux环境C++执行bash脚本

    所需头文件 xff1a include lt stdio h gt 例如 xff0c 希望执行脚本 mkdir testDir C 43 43 Code xff1a FILE fp 61 popen 34 mkdir testDir 34
  • Visual Studio 远程调试设置

    VisualStudio远程调试很方便 xff0c 设置也非常简单 远程调试器安装 安装VisualStudio时默认就会安装远程调试器 xff0c 所以一般无需单独安装 被连接方设置 被连接方需要打开远程调试器 xff0c 它位于目录Re
  • 【windows11系统进行ubuntu系统安装详细步骤】

    windows11系统进行ubuntu系统安装详细步骤 2022年新购入一台win11台式电脑 xff0c 进行python的学习经历 xff0c 教程里边要求安装linux系统 xff0c 所以从网上搜索如何安装ubuntu系统 xff0
  • Win7远程控制fedora ——通过xrdp

    原文地址 http blog sohu com s MTU5MTY3OTE1 302888160 html 最近要分析RDP协议的相关东西 xff0c 然后需要抓包 xff0c 实验室空着的电脑只有Fedora系统了 xff0c 就找了一下
  • 解决Win10/11 WSL 子系统 WslRegisterDistribution failed with error: 0x800701bc 错误

    原因 xff1a wsl1升级到wsl2之后 xff0c 内核却没有升级 xff0c 所以会出现这种错误提示 xff01 解决方法 xff1a 1 下载最新的wsl安装包 2 安装包下载后 xff0c 直接运行安装即可 xff01 3 下载
  • 分布式事务之Seata AT 事务

    1 Seata介绍 Seata 是一款开源的分布式事务解决方案 xff0c 致力于提供高性能和简单易用的分布式事务服务 Seata 将为用户提供了 AT TCC SAGA 和 XA 事务模式 xff0c 为用户打造一站式的分布式解决方案 1
  • Vue引用Element-UI时,组件无效果解决方案

    问题 xff1a Vue在使用Element UI组件的时候 xff0c 已经安装好依赖 span class token operator gt span npm install element span class token oper

随机推荐

  • C语言:编译成可执行程序的步骤

    1 预处理 xff08 头文件的展开 xff0c 宏的替换 ifdef else endif xff09 gcc E test c o test i 2 编译 xff08 生成汇编文件 xff0c 对词法和语法进行检查 xff09 gcc
  • 服务器蓝屏的原因及解决办法

    硬件故障 xff1a 1 散热问题 2 内存主板问题 3 电源问题 4 显卡问题 解决办法 xff1a 1 清理下灰尘 xff0c 风扇 xff0c 温度高会蓝屏 2 检查内存 xff0c 新机器后加的内存是不是不兼容 xff0c 拔插下内
  • 在 CentOS 8 中使用 KVM 安装 Windows 10

    在 CentOS 8 中使用 KVM 安装 Windows 10 本文地址 xff1a blog lucien ink archives 514 使用 esxi 的话总觉得有些别扭 xff1f 故尝试 KVM xff0c 本文使用 Cent
  • 树莓派初始化备忘

    树莓派初始化备忘 本文地址 xff1a blog lucien ink archives 515 最近又开始折腾树莓派了 xff0c 记录一下初始化一个树莓派需要做的一些操作 本次操作以 64 位 Raspberry Pi OS xff08
  • 树莓派禁用 Wi-Fi 和蓝牙

    树莓派禁用 Wi Fi 和蓝牙 本文地址 xff1a blog lucien ink archives 516 因为我的树莓派是直接通过网线连接的 xff0c 并没有启用 Wi Fi xff0c 所以在每次 SSH 连进去之后 Raspbi
  • 树莓派安装 OMV

    树莓派安装 OMV 本文地址 xff1a blog lucien ink archives 517 终究还是忍住了 xff0c 没有出手买 x86 的 NAS xff0c 选择自己折腾树莓派 xff08 因为实在是太穷了 xff09 1 初
  • 树莓派安装 docker 和 docker-compose

    树莓派安装 docker 和 docker compose 本文地址 xff1a blog lucien ink archives 518 因为总是频繁地初始化树莓派 xff0c 所以把安装 docker 的过程也记录下来 1 安装 doc
  • 打印 Go Test 的代码覆盖

    打印 Go Test 的代码覆盖 本文地址 xff1a blog lucien ink archives 520 使用方法 将这段代码复制进 zshrc 或者是 bashrc 等文件中 xff08 取决于你的命令行 xff09 xff0c
  • Typecho HTTPS 无法登陆后台

    Typecho HTTPS 无法登陆后台 本文地址 xff1a blog lucien ink archives 523 背景 因为百度云加速的 HTTPS 证书各种难用 xff0c 最近将博客的 CDN 解决方案整体迁移至 Cloud F
  • git 显示中文

    git 显示中文 本文地址 xff1a blog lucien ink archives 524 默认情况下 xff0c git 会对中文进行转译 xff0c 具体表现如下 xff1a span class token function g
  • 在 PVE 中安装 OpenWrt

    在 PVE 中安装 OpenWrt 本文地址 xff1a blog lucien ink archives 525 最近在捣腾 x86 软路由 xff0c 入门方案一般是底层采用 ESXi 或 PVE xff0c 虚拟层使用 iKuai 4
  • ARM:系统移植1

    一 系统移植的概述 1 目的 xff1a 1 软硬件可裁剪 xff1a 硬件发生变化 xff0c 软件要进行裁剪 xff0c 适配硬件 2 学习linux驱动的开发 xff0c 前提开发板上需要运行linux系统 移植linux内核系统到开
  • hdu 3700 cat

    Cat Time Limit 2000 1000 MS Java Others Memory Limit 32768 32768 K Java Others Total Submission s 181 Accepted Submissio
  • OpenWrt 安装中文语言包

    OpenWrt 安装中文语言包 本文地址 xff1a blog lucien ink archives 527 安装 luci i18n base zh cn 即可 xff08 这不是一篇水文 xff09
  • OpenWrt 安装 OpenClash

    OpenWrt 安装 OpenClash 本文地址 xff1a blog lucien ink archives 528 截止 2022 年 5 月 5 日 xff0c OpenWrt 的最新版本为 21 02 3 xff0c OpenCl
  • OpenWrt 添加自定义 Service

    OpenWrt 添加自定义 Service 本文地址 xff1a blog lucien ink archives 530 span class token shebang important bin sh etc rc common sp
  • PVE 虚拟机心跳检测并重启

    PVE 虚拟机心跳检测并重启 本文地址 xff1a blog lucien ink archives 531 不知为何 xff0c PVE 中的 OpenWrt 时不时会宕机 xff0c 这是背景 秉承着能用就行的思想 xff0c 写了一个
  • WSL2 安装、配置 Cuda、pytorch 记录

    WSL2 安装 配置 Cuda pytorch 记录 本文地址 xff1a blog lucien ink archives 532 最近整了张矿卡 xff0c 为了这盘醋 xff0c 包了盘饺子 虽然我已经预料到买前深度学习 xff0c
  • Windows 删除恢复分区

    Windows 删除恢复分区 本文地址 xff1a blog lucien ink archives 533 目前不论是 Windows 10 还是 Windows 11 xff0c 在安装完成后在 C 盘的后面都会有一个恢复分区 xff0
  • Debian 下 CUDA 生产环境配置笔记

    最近整了张 Tesla P4 xff0c 由于是半高卡 xff0c 索性就直接将其塞进了我的 NAS 里 xff0c 试图将原来用 onnx 跑在 CPU 上的模型迁移至 GPU 上 xff0c 遇到了些许问题 xff0c 在此记录下 本文