前言
我發現CUDA版本裝9.2真心不是一個好主意,不僅TensorFlow沒有官方的CUDA9.2支持(Github上有別人編譯好了的,可以找一下如果需要),現在PyTorch更新stable版的1.0了,也暫時只有CUDA 8.0, 9.0, 10.0的支持,除非從源碼編譯,而且考慮到之後裝keras、TFLearn、tensorlayer等怕出問題,就準備把我的CUDA降級成9.0.
卸載CUDA(9.2和重複的9.0)
我看stackoverflow有人寫說直接安裝就行,舊的版本會自動卸載掉,爲了避免麻煩我嘗試了一下,結果,新裝的9.0版本不僅沒有裝完(有一個似乎是什麼Nsight顯示版本比安裝的這個新,因爲那個是9.2版本時候裝的,要我卸載在裝這個),結果我一看CUDA竟然並存了兩個版本,(雖然網上說兩個版本可以並存,什麼先裝舊版本再裝新版本,但這不是我期望的啊!)。一看stackoverflow那個看似簡單的方法不行,就開始卸載舊版本。
CUDA_Installation_Guide手冊裏寫了直接在控制面板裏卸載就行(這個手冊可以在官網某個位置找到),就是下面這麼寫的所以我就在控制面板-程序與功能裏卸載,排了下序,因爲我的電腦裏現在有兩個版本的CUDA,我就把重複的都卸載了,最後再重新裝9.0(因爲我不確定重複裝了會不會有問題,就全部卸載再單獨裝一個),基本上就是:
- 控制面板-程序與功能裏在給所有軟件排序,
- 找到NVIDIA開頭的軟件,留下:NVIDIA的圖形驅動程序、NVIDIA Physx系統軟件,其餘的一律卸載就ok
- 卸載順序無所謂,NVIDIA的軟件一個個都有其獨立卸載程序,但一定要保留上一條那兩個
- 基本情況就像下面這個圖(不是我的電腦,圖片來自網絡,當初卸載沒有截圖,但都是類似的可以參考)
- 最後看了一眼
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
裏還有9.2的文件夾和9.0的文件夾,因爲我都卸載了,都刪掉,這個目錄應該是空的 - 我看網上還有說註冊表什麼的,因爲考慮我只是降級,一會兒還要裝9.0,並不是完全刪除卸載CUDA,就沒管。
- 可以把
C:\Program Files\NVIDIA Corporation\Installer2
這個文件夾裏的內容刪除,留下文件夾,避免之後安裝9.0版本有問題,具體原因見後文
安裝CUDA9.0
- 因爲之前已經裝過一遍了,所以這步也比較簡單,也不是本文的重點,簡單來說就是在官網上下載好對應版本的CUDA雙擊一路確定/下一步就ok。(注意要是第一次裝CUDA是要裝VS的,具體版本見官網和別人的教程,之前在裝9.2版本的時候已經裝過了,此處略去)
- 之前裝過一次,所以環境變量還在,最後環境變量是這些
- 其中
CUDA_PATH
和CUDA_PATH_V9_0
是CUDA裝好了就自動寫入PATH的(而且我卸載了CUDA時這兩個也消失),因爲我之前裝過一次,卸載之後除了CUDA_PATH
和CUDA_PATH_V9_0
這兩個,其餘的還在PATH中就不用再配置了,注意的是,CUDA_SDK_PATH
也不會變,原來我安裝9.2的時候配置的是...\CUDA Samples\v9.2
,這個即使在裝好了9.0也不會變,所以手動改一下成...\v9.0
,其餘的都不用變。 - 重啓電腦,基本ok
驗證安裝
- 在cuda安裝文件夾中有deviceQuery.exe 和 bandwidthTest.exe兩個程序,在CMD/Powershell中打開安裝位置這個目錄
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\demo_suite
,分別輸入deviceQuery.exe
和bandwidthTest.exe
,運行結果Result=PASS則說明通過,反之,Result=Fail 則需要重新安裝。 因爲這是事後幾天寫的圖就懶得再試一次再截了。
一些其他的
裝完之後我發現電腦C盤少了不少,固態硬盤寸土寸金
- 查找一下對於含cuda字眼而且結尾版本號是9.2的可以刪除,但是這沒什麼用,只有很少的文件(記得是,記不太清了)
- 發現
C:\Program Files\NVIDIA Corporation\Installer2
裏有大量的安裝文件,網上查了一下,可以刪除,但會有一些後果,網上說會導致CUDA在控制面板-程序與功能裏無法刪除,當再要卸載的時候就重裝一下CUDA就ok,反正這個文件夾裏基本就是CUDA的安裝程序安裝完應該就沒用了,而且佔了很大的空間。我刪除了這個文件夾裏的內容,留下了一個空文件夾,以下給幾個關於這個的參考鏈接可以看看:- https://forums.evga.com/Safe-to-delete-the-contents-of-C92Program-Files92NVIDIA-Corporation92Installer2-m1677230.aspx
- https://forum.piriform.com/topic/51445-add-cprogram-filesnvidia-corporationinstaller2-to-be-removed-with-nvidia-install-files/
- https://forums.geforce.com/default/topic/525843/geforce-drivers/can-i-delete-old-nvidia-driver-files/
- https://forums.geforce.com/default/topic/983693/nvidia-installer2-is-stores-a-lot-of-uncessary-files/
- https://nvidia.custhelp.com/app/answers/detail/a_id/3333/~/disk-space-used-when-installing-nvidia-drivers
- 現在暫時只找到這麼幾個,不過當時我記得還有一些別的網頁,具體可以google一下。
- 這麼做還有一個好處就是,我在安裝CUDA9.0的Patch的時候,有一個Patch安裝不上,網上查了一下說刪除這個文件夾內容,嘗試了一下成功,可能是這個裏面的原來的安裝程序和patch衝突了之類的(瞎猜的),這也是最前面說刪除的原因吧。
- 還可以查查裝完CUDA和Nvida產品之後怎麼節省空間和哪些東西可以刪除之類的,我暫時記得這麼多,之後想起來再補充~