目录
本文为通用教程,以Ubuntu20.04.01+CUDA11.6.1+NVIDIA510.54为例。

注:Ubuntu下也可以采用wget下载,终端输入以下指令,等待下载完成即可
2.其它版本下载地址
https://developer.nvidia.com/cuda-toolkit-archive
1.进入NVIDIA官网,查询对应驱动清单(本文以Geforce RTX 3080为例),选择合适的版本
本环境选择的是510.54版本,如下图中矩形框所示:
510.54版本下载链接:
https://cn.download.nvidia.cn/XFree86/Linux-x86_64/510.54/NVIDIA-Linux-x86_64-510.54.run

2.点击查看该版本支持的显卡型号

注意:CUDA和NVIDIA驱动有版本对应关系,如下节所示,若安装其它版本需注意
3.显卡驱动与CUDA版本对应关系
显卡驱动与Cuda版本对应关系
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

4.CUDA、Ubuntu 、GCC版本对应关系(for linux)
NVIDIA CUDA Archived Documentation 总的集合
https://docs.nvidia.com/cuda/archive/

1.准备
下载上述版本NVIDIA驱动和CUDA,先安装make和g++,如果系统安装过NVIDIA驱动,需先卸载
卸载指令:sudo apt-get remove nvidia-*
2.禁用nouveau
# 1.创建/etc/modprobe.d/blacklist-nouveau.conf文件,添加以下内容以阻止nouveau模块加载
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
# 2.添加
blacklist nouveau
options nouveau modeset=0
# 3.更新内核文件
sudo update-initramfs -u
# 4.重启计算机,查找nouveau模块,是否还存在
lsmod | grep nouveau
3.禁用图形界面服务
sudo /etc/init.d/lightdm stop 或 sudo service lightdm stop
如提示lightdm不存在或者未安装,先暂时跳过该步骤
4.赋予权限并安装CUDA
#cd到CUDA安装文件目录下
sudo chmod a+x cuda_11.6.1_510.47.03_linux.run
sudo sh ./cuda_11.6.1_510.47.03_linux.run
注意:安装过程中会提示是否安装自带的510.47.03驱动是,选择no,其它都是yes
## 1.接受许可,输入accept

## 2.不安装cuda自带的驱动,将Driver前面的X去掉

## 3.选择 Install 回车,等待安装完成

## 4.安装完成如下
5.安装显卡驱动
# 1.进入多用户-命令行模式
init 3 或者Ctrl +Alt +F2(F1~F6都可以)
#cd到驱动安装文件目录下
sudo sh ./NVIDIA-Linux-x86_64-510.54.run --no-x-check -no-nouveau-check -no-opengl-files

注意:不安装opengl是因为可能会影响桌面,过程中提示是否升级X config配置文件,如果独显做输出就选yes,否则就默认no,其它都默认
# 2.切回图行桌面
init 5 或者Ctrl +Alt +F7
# 3.验证驱动
nvdia-smi 或者watck nvidia-smi
扩展:watch -n 1 nvidia-smi 表示每隔0.5秒刷新一次GPU使用情况
nvidia-smi -l 1 同上,建议使用该命令,不太影响cuda使用
6.配置环境变量
sudo vim /etc/profile
# 1.在末尾添加以下内容
export PATH=$PATH:/usr/local/cuda-11.6/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64

# 2.使环境变量立即生效
source /etc/profile
# 3.验证环境变量是否生效
nvcc -V
# 4.若正常输出cuda版本信息则表示成功

7.验证cuda和驱动
貌似新的cuda包不再安装例子程序了,即使选择了安装
# 1.cd 到实例目录
cd /usr/local/cuda-11.6/samples/1_Utilities/deviceQuery
make
./deviceQuery

8.禁用系统自动更新、内核更新(务必)
系统更新可能会升级内核,有时候会造成显卡驱动失效或者进系统黑屏等问题,带来不必要的折腾。
# 1.禁用系统更新:打开“Software & Updates ->Updates”,修改如下:

# 2.禁用内核更新:
##1.查看系统当前所用内核:
uname -a
## 2.用以下指令查看跟系统所用版本内核相关的文件(带linux-image、linux-headers的)
dpkg --get-selections | grep linux-image
dpkg --get-selections | grep linxu-headers
dpkg --list | grep linux-image
dpkg --list | grep linux-headers
ls /boot/
## 3.禁用内核更新:
带linux-image、linux-headers的对应版本的都执行sudo apt-mark hold,有比所用版本的新的要删除掉。
sudo apt-mark hold linux-headers-5.4.0-42
sudo apt-mark hold linux-headers-5.4.0-42-generic
sudo apt-mark hold linux-image-5.4.0-42-generic
## 4.进系统黑屏(有时候只有一个光标在左上角闪)、nvidia-smi提示如下信息等问题

最简单的办法就是重启系统,进入grub引导界面,选择“Advanced option for Ubuntu/Ubuntu高级选项”,回车,之后选择旧的内核版本(优先选择带恢复模式的)进入系统

正常情况上述操作都能恢复正常,nvidia-smi 提示“NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver......”,也可以通过如下操作解决:
## 1.安装dkms
sudo apt-get install dkms
## 2.查看本机连接不上的驱动版本(若能记得版本可跳过此步)
ls -l /usr/src/

## 3.重新生成对应版本的驱动模块
sudo dkms install -m nvidia -v 510.54
我有一个在Linux服务器上运行的ruby脚本。它不使用rails或任何东西。它基本上是一个命令行ruby脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
我试过重新启动apache,缓存的页面仍然出现,所以一定有一个文件夹在某个地方。我没有“公共(public)/缓存”,那么我还应该查看哪些其他地方?是否有一个URL标志也可以触发此效果? 最佳答案 您需要触摸一个文件才能清除phusion,例如:touch/webapps/mycook/tmp/restart.txt参见docs 关于ruby-如何在Ubuntu中清除RubyPhusionPassenger的缓存?,我们在StackOverflow上找到一个类似的问题:
我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主
注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模
我试图在rails中了解rubygems是如何变得可以自动使用的,而不是在使用required的文件中gem? 最佳答案 这是通过bundler/setup完成的:http://bundler.io/v1.3/bundler_setup.html.它在您的config/boot.rb文件中是必需的。简而言之,它首先将环境变量设置为指向您的Gemfile:ENV['BUNDLE_GEMFILE']||=File.expand_path('../../Gemfile',__FILE__)然后它通过要求bundler/setup将所有ge