Linux安裝CUDA的正確姿勢

Linux安裝CUDA的正確姿勢

CUDA(Compute Unified Device Architecture,統一計算架構)是由NVIDIA所推出的一種集成技術,是該公司對于GPGPU的正式名稱。

透過這個技術,用戶可利用NVIDIAGeForce 8以后的GPU和較新的Quadro GPU進行計算。

查看顯卡是否支持CUDA

輸入下面命令查看電腦的NVIDIA型號:

vincent@dell-Inspiron-7559 Dir:~
·····$lspci | grep -i nvidia
02:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)

我的顯卡型號為: GeForce GTX 960M

然后到官網查看是否支持CUDA,網址地址。

查看CUDA版本與NVIDIA驅動的關系

在這里插入圖片描述
也可以到官網查看,點擊查看鏈接。

下載CUDA文件

下載最新的CUDA軟件安裝包, CUDA Toolkit 9.2 Download。

這里寫圖片描述

我們選擇runfile文件進行安裝。然后放到一個目錄下,要記住,后面我們會要執行它。

確認安裝環境

1. NVIDIA顯卡已經正常安裝

2. nouveau已經禁用

可以使用下面命令查看,如果沒有輸出代表成功:

lsmod | grep nouveau

如果正確安裝了NVIDIA的驅動就會禁止掉了。

3. 驗證系統是否安裝了gcc

終端輸入下面命令查看是否安裝:

vincent@dell-Inspiron-7559 Dir:~
·····$gcc --version
gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

安裝CUDA

1. 進入tty界面

alt + ctrl + F1進入tty命令行界面,登錄用戶和密碼

2. 關閉圖形界面

tty中輸入下面命令關閉圖形界面:

sudo service lightdm stop

或者

sudo telinit 3

3. 運行cuda文件

首先給cuda可執行權限:

sudo chmod a+x cuda_9.2_linux.run

運行cuda文件:

sudo ./cuda_9.2_linux.run --no-opengl-libs

cuda主要有以下參數:

  • --no-opengl-libs:表示只安裝驅動文件,不安裝OpenGL文件。必需參數,原因同上。注意:不是-no-opengl-files
  • --uninstall (deprecated):用于卸載CUDA Driver(已廢棄)。
  • --toolkit:表示只安裝CUDA Toolkit,不安裝DriverSamples
  • --help:查看更多高級選項。

4. 安裝過程的選項選擇

(1). 會先有個閱讀聲明,一直按D即可,然后accept
(2). 選項install nvidia accelerated Graphics Driver,輸入n,因為我們已經安裝了nvidia的驅動。
(3). 選項install the OpenGL libraries,如果雙顯卡(集顯+獨顯)選擇n,如果只有獨顯可以選擇y,如果雙顯卡選擇y的話,會出現黑屏或者循環登錄的問題,如果加了上面的參數就不會出現這個選項了。
(4). 后面的可以都選擇yes,最后一個選項我們可以選擇n,也就是不復制Samples,因為安裝目錄下有samples

安裝過程結束后會有以下信息:

Driver :Installed
Toolkit :Installed in /usr/local/cuda-9.2
Samples :Installed in /home/vincent

代表安裝完成,但是不代表成功。這時需要重啟。

5. 驗證cuda是否成功安裝

重啟進入界面,打開終端輸入:

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

這兩條命令是將cudabin文件和lib導出到系統環境中。
如果安裝的版本不是一樣的,更換路徑中的cuda-9.2

(1). 終端輸入:

nvcc -V

如果有CUDA的版本信息代表正常。

(2). 編譯samples例子

#編譯并測試設備 deviceQuery:
cd /usr/local/cuda-9.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery#編譯并測試帶寬 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest

如果這兩個測試的最后結果都是Result = PASS,說明CUDA安裝成功啦。

備注:
如果安裝失敗,有可能是缺少依賴,終端執行:

sudo apt-get install freeglut3-dev \
build-essential \
libx11-dev \
libxmu-dev \
libxi-dev \
libgl1-mesa-glx \
libglu1-mesa \
libglu1-mesa-dev

(6). 將cudabinlib寫入系統環境

打開~.bashrc文件在末尾追加兩句:

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

然后退出重新打開終端即可。

CUDA卸載

CUDA默認安裝在 /usr/local/cuda-9.2下,用下面的命令卸載::

sudo /usr/local/cuda-9.2/bin/uninstall_cuda-9.2.pl

NVIDIA驅動卸載:

sudo /usr/bin/nvidia-uninstall

卸載過程一路都是yes

其他問題

1. 如果出現循環登錄

alt + ctrl + F1進入tty,然后切換集顯:

sudo  prime-select intel

卸載cuda文件:

sudo /usr/local/cuda-9.2/bin/uninstall_cuda_9.2.pl

如果重啟之后還是不能進入,那就把nvidia驅動卸載:

sudo /usr/bin/nvidia-uninstall

也可以在啟動時選擇Advanced然后以root方式進入系統,卸載nvidia、cuda等軟件。

然后重啟,如果重啟黑屏,在grub界面進入linux的選擇上按e鍵,找到quiet splash,在后面加nouveau.modeset=0,然后按F10啟動。
然后安裝nvidia驅動,再安裝CUDA軟件。

2.gcc版本校驗失敗
如果安裝cuda過程中出現

Failed to verify gcc version

那么很有可能你的gcc版本太高,例如:cuda 10.1要求gcc版本是7.3.0,但是ubuntu 20.04/linux mint 20默認gcc版本為9.3.0,所以可以增加下面參數安裝。

sudo sh cuda_10.1.243_418.87.00_linux.run --override

END

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

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

相關文章

Linux升級內核的正確姿勢

Linux升級內核的正確姿勢 很多童鞋在玩耍linux發行版的時候,都會遇到各種各樣的問題,比如:網卡不能使用,亮度不能調節,觸摸板不能識別,藍牙不能使用等等,這些關系都和linux的內核有關系。 什么…

Ubuntu 18.04安裝NVIDIA(英偉達) RTX2080Ti顯卡

Ubuntu 18.04安裝NVIDIA(英偉達) RTX2080Ti顯卡 在安裝顯卡之前請先把ubuntu 18.04系統提前安裝好。 需要準備的資料: NVIDIA 驅動 下載驅動 驅動的下載地址,在此下載頁面選擇合適的顯卡,目前最新的顯卡驅動版本是…

Ubuntu18.04安裝cuDNN和Tensorflow的正確姿勢

文章目錄Ubuntu18.04安裝cuDNN和Tensorflow的正確姿勢一、檢查NVIDIA驅動是否安裝成功二、檢查CUDA是否安裝成功三、安裝cuDNN1. 確定版本2. 下載安裝包3. 解壓安裝4. 安裝libcupti四、安裝Tensorflow1. 確定版本2. 安裝pip3. 安裝Tensorflow4. 檢查是否正常運行五、錯誤解決1.…

HttpServletResponse應用 的 簡單介紹

HttpServletResponse是專門用于HTTP協議的ServletResponse接口,它用于封裝HTTP響應消息,允許操控HTTP協議相關數據,包括響應頭和狀態碼,支持Cookies和session跟蹤,HttpServletResponse也定義了一系列用于描述各種HTTP狀…

移動站應該嘗試百度MIP的五個原因

MIP 是什么?MIP 是百度在 2016 年提出的移動網頁加速器項目。 MIP 能做什么?MIP 能幫助站長和網站開發者快速搭建移動端頁面。 MIP 怎么加速?MIP 從前端渲染和頁面網絡傳輸兩方面進行優化,杜絕頁面渲染中的阻塞問題,…

Vim從理解到應用

1991 年,來自荷蘭的一名工程師 Bram Moolenaar 為了在他的Amiga計算機上復制Vi的功能,正式發布 了Vim的第一個版本。在當時無論誰也沒想到,這款軟件未來能在技術圈爆發出那么大的威力,為千千萬萬的工程師節省了無數時間&#xff0…

如何用百度MIP快速搭建體驗友好的移動頁面

在讀這篇文章之前,請確定你已經了解 MIP 定義及加速原理。如果不確定的話,可以到 MIP 官網了解。 改造前期準備和注意事項: 你可以選擇直接將原先的移動站點直接改成 MIP 站,也可以單獨再做一套 MIP 站點與移動站并存。 復雜的頁面暫不建議…

JAVA知識基礎(一):數據類型

在我們學習一門編程語言時,最先要了解的就是數據類型,而數據類型又都是抽象的概念,初學者理解起來比較困難,所以我們往往是先應用再理解,但是在本篇文章我決定用先理解再應用的方式嘗試一下,試試效果。 1、…

百度MIP移動頁面加速——不只是CDN

MIP 是用 CDN 做加速的么?準確答案是:是,但不只是。 MIP 全稱 Mobile Instant Pages,移動網頁加速器,是百度提出的頁面加速解決方案。MIP 從前端渲染和頁面網絡傳輸兩方面進行優化,杜絕頁面渲染中的阻塞問…

JAVA知識基礎(二):基本語法

本篇主要介紹JAVA的運算符、循環結構以及條件結構。 1、JAVA運算符 計算機的最基本用途之一就是執行數學運算,作為一門計算機語言的Java也提供了一套豐富的運算符來操縱變量。 JAVA運算符可以大致概括為幾類:算術運算符、關系運算符、位運算符、邏輯運…

JAVA知識基礎(三):修飾符

JAVA中根據修飾對象的不同可以分為類修飾符、方法修飾符、變量修飾符三類,其中每種修飾符又可以單獨分成兩類:訪問修飾符和非訪問修飾符。為了便于理解,本文以訪問和非訪問的角度展開。 1、訪問修飾符 訪問修飾符有四個:public、…

百度推出新技術 MIP,網頁加載更快,廣告呢?

MIP 項目在 2016 年年初正式發布,幫助移動頁面加速(原理)。內測數據表明,MIP 頁面在 1s 內加載完成。現在已經有十多家網站加入 MIP 項目,有更多的網站正在加入中。在MIP收到的反饋中,大部分都提到了廣告的…

JAVA知識基礎(四):深入理解static關鍵字

1、static存在的主要意義 static的主要意義是在于創建獨立于具體對象的域變量或者方法。以致于即使沒有創建對象,也能使用屬性和調用方法! static關鍵字還有一個比較關鍵的作用就是 用來形成靜態代碼塊以優化程序性能。static塊可以置于類中的任何地方…

MIP改造常見問題二十問

在MIP推出后,我們收到了很多站長的疑問和顧慮。我們將所有疑問和顧慮歸納為以下二十個問題,希望對大家理解 MIP 有幫助。 1、MIP 化后對其他搜索引擎抓取收錄以及 SEO 的影響如何? 答:在原頁面 MIP 化,不會影響其它搜…

Nginx(零):背景

我們今天開始對Nginx的學習,本來是打算第一篇就是基礎知識介紹的,但是我感覺在學習一個新知識之前總應該知道,我們為什么要學習它,學習它的意義何在吧!所以我加了背景這一篇作為Nginx開始學習的標志。 1、Nginx的誕生…

Nginx(一):概念基礎

上一篇我們介紹了Nginx的背景,現在我們就要開始正式對Nginx的學習了。本篇我們將對Nginx的基本定義進行介紹,了解Nginx到底是什么。然后我們會介紹Nginx最基本的三個概念:反向代理、負載均衡、動靜分離。 1、Nginx是什么 Nginx(“engine x”…

MIP 官方發布 v1穩定版本

近期,MIP 官方發布了 MIP 系列文件的全新 v1 版本,建議開發者盡快完成升級。 一、 我是開發者,如何升級版本? 對于 MIP 頁面開發者來說,* 只需替換線上引用的 MIP 文件為 v1 版本 *,就可以完成升級。所有…

百度MIP頁規范詳解 —— canonical標簽

百度 MIP 的規范要求必須添加強制性標簽 canonical&#xff0c;不然 MIP 校驗工具 會報錯&#xff1a; 強制性標簽 <link rel"/^(canonical)$/"> 缺失或錯誤 這個標簽怎么寫&#xff1f;又是干什么用的呢&#xff1f; ** 簡單來說&#xff0c;canonical 標簽…

Nginx(二):安裝、配置、常用命令

1、Nginx在Linux操作系統中的安裝 這里簡單介紹一下nginx的安裝了 1.1、前期準備 在安裝nginx之前我們要提前準擺好它的編譯工具以及庫文件&#xff1a;zlib、poenssl。 還有有讓Nginx支持Rewrite功能的PCRE. 安裝的途徑有很多可以參考&#xff1a;https://www.runoob.com/lin…

JAVA知識基礎(五):深入理解final關鍵字

1.final 關鍵字 final關鍵字主要用在三個地方&#xff1a;變量、方法、類。 final修飾變量&#xff1a;final修飾一個類時&#xff0c;表明這個類不能被繼承。final修飾方法&#xff1a;final修飾方法&#xff0c;方法不可以重寫&#xff0c;但是可以被子類訪問 【前提&#…