配置 Nvidia GPU 主机的运行环境
在 Linux 主机上配置了很多次 Cuda/CuDNN 的运行环境,在此记录下用到的脚本命令以复用。
特别提醒,先了解清楚 GPU 卡的型号,查清与主机 Linux 内核兼容的驱动程序、Cuda 和 CuDNN 的发行版。
请以 root 权限执行本文的所有 bash 命令。
1. NVIDIA 驱动安装
# WIKI: https://download.nvidia.com/XFree86/Linux-x86_64/375.20/README/installdriver.html
wget http://us.download.nvidia.com/tesla/384.145/NVIDIA-Linux-x86_64-384.145.run && \
chmod u+x NVIDIA-Linux-x86_64-384.145.run && \
./NVIDIA-Linux-x86_64-384.145.run --silent --dkms --accept-license
2. 打开持久模式
nvidia-smi -pm ENABLED # WIKI https://docs.nvidia.com/deploy/driver-persistence/index.html
4. GPU 设备信息查看
nvidia-smi
# +-----------------------------------------------------------------------------+
# | NVIDIA-SMI 384.145 Driver Version: 384.145 |
# |-------------------------------+----------------------+----------------------+
# | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
# | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
# |===============================+======================+======================|
# | 0 Tesla V100-PCIE... Off | 00000000:1A:00.0 Off | 0 |
# | N/A 34C P0 37W / 250W | 0MiB / 16152MiB | 0% Default |
# +-------------------------------+----------------------+----------------------+
# | 1 Tesla V100-PCIE... Off | 00000000:1F:00.0 Off | 0 |
# | N/A 36C P0 36W / 250W | 0MiB / 16152MiB | 0% Default |
# +-------------------------------+----------------------+----------------------+ nvidia-smi topo --matrix # 查看拓扑信息
# GPU0 GPU1 GPU2 GPU3 GPU4 GPU5 GPU6 GPU7 mlx5_1 mlx5_0 CPU Affinity
# GPU0 X PIX PIX PIX SYS SYS SYS SYS SYS SYS 0-15,32-47
# GPU1 PIX X PIX PIX SYS SYS SYS SYS SYS SYS 0-15,32-47
# GPU2 PIX PIX X PIX SYS SYS SYS SYS SYS SYS 0-15,32-47
# GPU3 PIX PIX PIX X SYS SYS SYS SYS SYS SYS 0-15,32-47
# GPU4 SYS SYS SYS SYS X PIX PIX PIX NODE NODE 16-31,48-63
# GPU5 SYS SYS SYS SYS PIX X PIX PIX NODE NODE 16-31,48-63
# GPU6 SYS SYS SYS SYS PIX PIX X PIX NODE NODE 16-31,48-63
# GPU7 SYS SYS SYS SYS PIX PIX PIX X NODE NODE 16-31,48-63
# mlx5_1 SYS SYS SYS SYS NODE NODE NODE NODE X PIX
# mlx5_0 SYS SYS SYS SYS NODE NODE NODE NODE PIX X nvidia-smi --id=0 --format=csv --query-gpu=utilization.gpu,memory.used
# utilization.gpu [%], memory.used [MiB]
# 0 %, 0 MiB
5. CUDA Toolkit 安装
wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run && \
chmod u+x cuda_9.0.176_384.81_linux-run && \
./cuda_9.0.176_384.81_linux-run --toolkit --silent --verbos
cat << EOF >> /etc/ld.so.conf.d/cuda.conf
/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64
EOF
ldconfig
cat << EOF >> /etc/profile.d/cuda.sh
export PATH=/usr/local/cuda/bin:\$PATH
EOF
source /etc/profile
5. CuDNN 安装
# CuDNN 下载需要 Nvidia 账号。直接访问以下 URL,会被重定向到登录页面。
# https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.0.5/prod/9.0_20171129/Ubuntu16_04-x64/libcudnn7_7.0.5.15-1+cuda9.0_amd64
dpkg -i libcudnn7_7.0.5.15-1+cuda9.0_amd64.deb # 安装到 /usr/lib/x86_64-linux-gnu
配置 Nvidia GPU 主机的运行环境的更多相关文章
- EditPlus配置[C++] [Python] [Java] 编译运行环境
以前一直用Codeblocks写C++,eclipse写Java,再在eclipse里面集成PyDev写Python,首先无法忍受代码自动补全功能(这个功能也许你万分喜欢),也无法忍受如此重量级的ID ...
- 01 sublime text3下配置c/c++ 的编译运行环境
安装mingw,在线安装经常出问题,推荐离线安装 参考: https://blog.csdn.net/qq_34432960/article/details/106124496?utm_medium= ...
- 配置Sublime Text2的python运行环境(Sublime Text 3也类似)
1. 前言 用Sublime Text 2 配置Python运用环境,有简单配置还有像IDLE一样的配置,本文分成第一部分和第二部分. 2. 配置 第一部分(简单配置) 1.只需要打开Pref ...
- hadoop——配置eclipse下的map-reduce运行环境 1
1.通过修改实例模板程序来实现自己的map-reduce: 为了让示例程序run起来: 1)安装eclipse 2)安装map-reduce的eclipse插件 eclipse的map-reduce插 ...
- PhpStorm配置Apache与php的运行环境详细教程
本文主要说明如何在phpstorm中配置已经安装好的PHP与apache.首先需要在本地安装php,这里我安装的是phpstudy 进入PHPstorm的界面点击file 下的settings 在La ...
- Win8操作系统下IIS如何配置asp.net的运行环境(win7同样)
一.把鼠标放在电脑屏幕的左下角然后右击,弹出如下图菜单,选择“程序和功能”(快捷键win+X).(win7点击电脑左下角的“开始”,然后点击“控制面板”打开程序与功能界面): 二.进入程序与功能界面后 ...
- JDK的下载与Java运行环境
JDK简介 什么是JDK JDK是Java Development Kit的缩写,意思是Java开发工具包.JDK就好比作人的心脏,人没有了心脏,生命也就失去存在的意义.Java也一样,JDK就是它的 ...
- Ubuntu16.04 faster-rcnn+caffe+gpu运行环境配置以及解决各种bug
https://blog.csdn.net/flygeda/article/details/78638824 本文主要是对近期参考的网上各位大神的博客的总结,其中,从安装系统到跑通程序过程中遇到的各种 ...
- AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(二):配置WinClient分布式运行环境
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
随机推荐
- Oracle冷备
概念:一致性的备份,也就是在数据库一致性关闭后做的备份,一般用:shutdown immediate方式关闭. 步骤:1.查看三大核心文件所在位置:数据文件,控制文件,日志文件 数据文件:select ...
- Java知识复习(三)
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象.还是都不用. 在比较时先调用hashCode方法, ...
- 一个线上 Maven 诡异问题排查过程
å. 前言 现在的大部分 Java 应用基本都是通过 Maven 进行组织的,不论是分布式应用还是单体集群应用往往都会通过一个 父 POM 加若干子 POM 完成项目的组织.然而这种多应用多模块的拆分 ...
- Python分析44130条用户观影数据,挖掘用户与电影之间的隐藏信息!
01.前言 很多电影也上映,看电影前很多人都喜欢去 『豆瓣』 看影评,所以我爬取44130条 『豆瓣』 的用户观影数据,分析用户之间的关系,电影之间的联系,以及用户和电影之间的隐藏关系. 02.爬取观 ...
- 快速串讲——JVM内存的区域划分
目的 快速定位JVM内存泄漏或者溢出等问题. 面试基础题,加分项. 文章持续更新,微信搜索「万猫学社」第一时间阅读,关注后回复「电子书」,免费获取12本Java必读技术书籍. 程序计数器(Progra ...
- Task异常捕获的方式
这节来讲一下如果捕获Task的异常. 当Task运行中出现了异常,正常情况下我们在主线程的Try是捕获不到的,而如果在Task内部写try,出现了异常我们会完全不知道.下面就来介绍几个主线程捕获Tas ...
- redis 客户端实现读写分离实现
背景 (1) redis单机的读写性能轻松上大几万,不过线上环境不会只部署光秃秃的一个节点,还是会配合 sentinel 再部署一个 slave作为高可用节点的: 但是standby的slave节点是 ...
- 试着给VuePress添加登录授权支持,基于v-dialogs
背景介绍 VuePress是个不错的能基于Markdown快速构建静态网站的框架,初步来说,对外访问都是透明的. 但是可能因为一些保密需要,有些站点的文档,我们希望控制一下访问,所以我们借着别人的轮子 ...
- AcWing 220. 最大公约数
给定整数N,求1<=x,y<=N且GCD(x,y)为素数的数对(x,y)有多少对. GCD(x,y)即求x,y的最大公约数. #include<bits/stdc++.h> u ...
- UI自动化学习笔记- UnitTest单元测试框架详解
一.UnitTest基本使用 1. UnitTest框架 1.1 什么是框架 说明: 框架英文单词frame 为解决一类事情的功能集合 1.2什么是UnitTest框架 概念:UnitTest是pyt ...