在Centos上為Tesla T4顯卡安裝NVIDIA驅動以及cuda和cudnn

前期準備:

升級gcc編譯環境:

查看gcc版本:

gcc -v? ? ? ? (centos默認好像是4.8.5版本)

升級gcc:

yum install centos-release-scl
yum install devtoolset-9-gcc*

備份舊鏈接創建新鏈接:

mv /usr/bin/gcc /usr/bin/gcc-4.8.5
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-9/root/usr/bin/gcc /usr/bin/gcc
ln -s /opt/rh/devtoolset-9/root/usr/bin/g++ /usr/bin/g++
mv /usr/bin/cc /usr/bin/cc-4.8.5
mv /usr/bin/c++ /usr/bin/c++-4.8.5
ln -s /usr/bin/gcc /usr/bin/cc
ln -s /usr/bin/g++ /usr/bin/c++

安裝完再看一下版本,打印:

安裝與內核版本一致的kernel-devel:

查看內核版本:

uname -a

yum list | grep kernel-

如果不一致,則安裝與內核版本一致的kernel-devel:

yum install "kernel-devel-uname-r == $(uname -r)"

安裝完可以看到

(通常會安裝在/usr/src/kernels里,里面可能有多個,后面安裝顯卡驅動的時候如果找不到可以指定)

重啟系統:reboot

屏蔽系統自帶的nouveau:

查看是否屏蔽:

lsmod | grep nouveau

如果沒有輸出則說明已經屏蔽,否則需要手動屏蔽;

編輯dist-blacklist.conf文件:

vi /lib/modprobe.d/dist-blacklist.conf

用#注釋掉nvidiafb:#blacklist nvidiafb

添加兩條:

blacklist nouveau
options nouveau modeset=0

(如果沒有該文件可以直接新建一個/etc/modprobe.d/blacklist-nouveau.conf,添加這兩條)

重建initramfs image:

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

dracut /boot/initramfs-$(uname -r).img $(uname -r)

重啟系統 reboot

如果使用的界面centos,安裝驅動時要切到使用文本模式:

查看使用模式:

systemctl get-default

關閉GUI,使用文本模式:

systemctl set-default multi-user.target

(等安裝完驅動可以systemctl set-default graphical.target切回GUI)

重啟系統?reboot

安裝NVIDIA顯卡驅動:

查看系統顯卡:

lspci | grep -E "NVIDIA|VGA"

lshw -numeric -C display

查看是否安裝驅動:nvidia-smi

去官網下載驅動:官方驅動 | NVIDIA

選擇自己的顯卡驅動:

可以查看是否支持自己的顯卡,然后下載:

為驅動添加執行權限:chmod a+x NVIDIA-Linux-x86_64-550.54.15.run

安裝驅動:

./NVIDIA-Linux-x86_64-550.54.15.run -no-x-check -no-nouveau-check -no-opengl-files

(不添加執行權限也可以sh NVIDIA-Linux-x86_64-550.54.15.run -no-x-check -no-nouveau-check -no-opengl-files)

如果找不到之前安裝的內核可以使用參數指定:--kernel-source-path

我的/usr/src/kernels下有兩個

指定參數:./NVIDIA-Linux-x86_64-550.54.15.run -no-x-check -no-nouveau-check -no-opengl-files --kernel-source-path=/usr/src/kernels/3.10.0-1160.118.1.el7.x86_64

(提示安裝32位的可以自己選擇安不安裝)

安裝完查看結果:nvidia-smi

(卸載驅動使用:./NVIDIA-Linux-x86_64-550.54.15.run --uninstall)

安裝合適版本的cuda:

驅動版本和cuda版本對應關系:CUDA 12.5 Release Notes (nvidia.com)

下載對應版本的cuda:CUDA Toolkit Archive | NVIDIA Developer

選擇自己的系統版本,可以下載rpm或者runfile的,看自己喜好選一個安裝方法,選完系統下面自動有安裝方法,照著執行就可:

還是run簡單些,下載好run文件安裝:

./cuda_12.4.1_550.54.15_linux.run

需要等待一會,然后顯示,輸入accept,然后選擇install,安裝;

等待安裝結果,輸出像下面這樣:

===========
= Summary =
===========Driver:   Installed
Toolkit:  Installed in /usr/local/cuda-12.4/Please make sure that-   PATH includes /usr/local/cuda-12.4/bin-   LD_LIBRARY_PATH includes /usr/local/cuda-12.4/lib64, or, add /usr/local/cuda-12.4/lib64 to /etc/ld.so.conf and run ldconfig as rootTo uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-12.4/bin
To uninstall the NVIDIA Driver, run nvidia-uninstall
Logfile is /var/log/cuda-installer.log

通常是安裝在/usr/local/cuda-12.4下,記下安裝目錄配置環境變量:

編輯環境變量:vi /etc/profile

添加四行:

PATH=$PATH:/usr/local/cuda-12.4/bin/
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.4/lib64
export PATH
export LD_LIBRARY_PATH

使配置生效:source /etc/profile

查看cuda信息:

nvcc --version

(卸載cuda,run安裝的在/usr/local/cuda/bin目錄下有個uninstall自帶卸載程序)

安裝cuDNN加速:

官網選擇合適版本下載:cuDNN Archive | NVIDIA Developer

(需要申請個NVIDIA的賬號下載)

下載好后,解壓:tar -Jxvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz

將解壓后的include文件夾里全部文件復制到cuda目錄的include里,將lib文件夾里全部文件復制到cuda的lib64里:

cp cudnn目錄/include/* /usr/local/cuda-版本號/include
cp cudnn目錄/lib/* /usr/local/cuda-版本號/lib64

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21384.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21384.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21384.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

壓測工具sysbench

一、安裝 yum install gcc gcc-c autoconf automake make libtool bzr mysql-devel mysql libaio-devel yum remove mariadb.x86_64 mariadb-devel.x86_64 sh install-mysql.sh --installmysql --innodbbufferpoolsize2G --datadir/mysql/data --password123321 --binlogdir…

----JAVA 繼承----

引言 再java中你能創造出很多的類,但如果這些類中的成員再另一個類中也要使用,那么就要用到繼承來實現指定類中成員的使用了 那么也就可以寫出這樣的代碼 再類Cat中使用了類Animal的成員,這里我們稱Cat叫子類,Animal叫父類 概念…

Ubuntu22.04嵌入開發環境之NFS文件系統

近期我把Ubuntu18.04開發環境改成了22.04寫一上安裝過程與問題。 1.安裝NFS sudo apt install nfs-kernel-server systemctl status nfs-kernel-server systemctl emable nfs-kernel-server2.創建共享目錄 sudo mkdir /home/share/ sudo chmod 775 -R /home/share/3.配置NFS…

AIGC筆記--MoE模型的簡單實現

1--MoE模型 MoE模型全稱是混合專家模型(Mixture of Experts, MoE),其主要將多個專家神經網絡模型組合成一個更大的模型。 MoE模型的核心組成有兩部分:第一部分是多個專家網絡模型,每個專家網絡模型往往是獨立的&#x…

【UE+GIS】UE5GIS CAD或shp構建3D地形

貼合地形的矢量圖形實現方法 一、灰度圖的制作和拉伸換算1、基于高程點集實現2、基于等高線實現3、拉伸計算 二、生成地形模型的實現方案1、3Dmax導入灰度圖2、使用ArcMap/Arcpro/FME等GIS數據處理工具3、UE導入灰度圖 三、地形上疊加地形渲染效果的實現方案1、貼花2、數據渲染…

日志管理:Slf4j、Log4j、LogBack與ELK實戰指南

1.現代軟件開發中日志的重要性 在軟件開發和運維的世界里,日志管理是一項至關重要的技術。正確地記錄、管理和分析日志數據,能為系統的可靠性、可維護性和安全性帶來顯著的好處。 1.1 日志在故障排查中的作用 日志是系統活動的詳細記錄。當系統發生故…

Z字形變換 ---- 模擬

題目鏈接 題目: 分析: 題意如圖所示:如果我們按照題意, 真的實現一個矩陣, 這樣做的時間和空間復雜度很高, 所以我們可以試試看找規律, 優化一下我們觀察他們的下標: 如果找到下標的規律, 那么我們就不用創建矩陣, 就能找到最終結果的下一個字符是什么特殊情況, 當numRows 1…

讀AI未來進行式筆記01深度學習

1. AI 1.1. AI已經發展成一門涵蓋許多子領域的重要學科 1.2. 機器學習是迄今為止AI應用最成功的子領域 1.2.1. 在這個領域中,最大的技術突破就是深度學習 1.3. “人工智能”“機器學習”和“深度學習”的時候&#xff…

C語言編程技巧:深度挖掘與高效實踐

C語言編程技巧:深度挖掘與高效實踐 在編程的世界里,C語言以其高效、靈活和底層控制能力強等特點,一直備受開發者們的青睞。然而,要想真正掌握C語言的精髓,并編寫出高效、健壯的代碼,卻并非易事。本文將從四…

基于STM32與TB6600的機械臂項目

基于STM32與TB6600的機械臂項目是一個涉及硬件設計、軟件開發和控制算法實現的綜合項目。以下是對該項目的一個簡要介紹,以及一些基礎的代碼示例。 項目概述 1. 系統組成 STM32微控制器:作為系統的主控制器,負責處理傳感器數據和控制機械臂…

Pointnet學習以及對代碼的實現

由于點云不是常規數據格式,通常將此類數據轉換為規則的 3D 體素網格或圖像集合,然后再用神經網絡進行處理。數據表示轉換使生成的數據過于龐大。 PointNet是第一個直接處理原始點云的方法。只有全連接層和最大池化層,PointNet網絡在推理速度…

Android串口調試ADB

在Android設備上,通過串口(通常指的是ADB,即Android Debug Bridge)來執行dumpsys命令來檢查某個包(例如com.android.bluetooth)是否支持某個服務(如A2dpSinkService)是開發者或高級用…

深入理解 Python 迭代器與生成器:詳細指南

迭代器和生成器是 Python 中強大的特性,用于簡化代碼和提高效率。它們允許我們在需要時逐步計算結果,避免一次性加載所有數據到內存中。本文將詳細介紹 Python 迭代器和生成器的基本語法、命令、示例、應用場景、注意事項,并進行總結。 迭代…

Android在不同層面增加應用

1 App 應用代碼一般在開發者的項目目錄下,packages/apps/YourApp/,比如app/src/main/java目錄下 對于系統應用,源代碼可能位于packages/apps/目錄下,例如packages/apps/Settings。 用戶安裝的應用(從Google Play或其…

代碼隨想錄--哈希表--兩數之和

題目 給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和為目標值的那 兩個 整數,并返回他們的數組下標。 你可以假設每種輸入只會對應一個答案。但是,數組中同一個元素不能使用兩遍。 示例: 給定 nums [2, 7, 11, 15], t…

李廉洋:6.3黃金原油下周一開盤行情價格漲跌趨勢分析及最新操作建議多空布局

黃金消息面分析:上周黃金市場的走勢受到了PCE通脹數據和美聯儲政策預期的顯著影響。盡管市場對黃金的長期看漲情緒依然存在,但短期內金價的波動性預計將持續。4月份的PCE通脹數據顯示價格壓力有所降溫,這一結果與分析師預期一致,但…

2024年6月2日 (周日) 葉子游戲新聞

中醫百科中藥: 中醫百科中藥是一款非常強大的中藥知識科普軟件,該應用提供500多味中草藥的文獻資料,強大的搜索功能可根據功效、特點和關鍵詞來快速查找中藥,而且每味中藥的圖片、功效、主治、炮制方法等百科知識,可以很好的幫助你…

Pycharm SSH遠程連接時出現報錯,測試 SFTP 連接,連接到 ‘connect.westb.seetacloud.com‘ 失敗

問題由來 很離譜!今天本來打算租借AutoDL的顯卡完成一項深度學習的任務,很離譜的是同步文件夾的時候報了標題說的錯。 就很莫名奇妙,一天都在網上找解決辦法,結果都不對頭。 其他報錯 最后摸索著,在使用pycharm遠程登…

SpringBoot 定時任務+Quartz

1、分部解釋2、整體代碼 前言: 1、定時任務技術: JDK 的 Timer, 定義多個定時任務,其中某個任務出現異常,當時整個定時任務終止。Spring Task , 不支持 持久化與分布式部署,所有任務是單線程執行…

Prism 入門01,基礎

Prism 框架是支持多平臺的一種MVVM框架(Model-View-ViewModel) 除了具備一些基礎的屬性通知綁定,命令操作,消息聚合器等功能外。還具備一些強大的功能:例如,區域,導航,會話服務,模塊注入等特性。 一.如何在WPF 項目中使用Prism 框架 1.打開Visual Studio 2022,選擇創…