苦于學(xué)校的cluster遲遲排不上隊伍,我的lab member有一臺Alienware m17r4想整上deep learning 工作站向我跟海寶求助。我跟她建議和我們家自己散裝的工作站一樣,買一塊獨立的硬盤添加到電腦背面,作為ubuntu server的系統(tǒng)盤。于是,我們參考了b站視頻 外星人Alienware M17 R4 筆記本固態(tài)加裝教程!新人up的第一次拆機,加裝配件!
學(xué)會了怎么拆機,加裝固態(tài)。我們建議她立刻在amazon上立刻購買Dell的散熱片 (散熱馬甲:戴爾官方,鏈接)。
她去bestbuy購買了三星970 EVO Plus (1T)。
萬事俱備后,我們一塊把電腦拆了,發(fā)現(xiàn)我們家的螺絲刀都不好用,于是派出我們的男友們晚上去walmart購買萬能螺絲刀(大概15刀),終于能夠把所有的釘子都能拆下來了(淚目)。我們按照視頻教程,拆掉螺絲,打開后蓋,拔掉了電源線,擰開固態(tài)硬盤螺絲,插入固態(tài)硬盤,接上固態(tài)硬盤螺絲。一開始沒有加散熱片因為leasing office關(guān)門了,暫時拿不到,我們是第二天又拆機補加的。
以下是裝ubuntu和nvidia driver的痛苦之旅:
首先,我們開始安裝ubuntu20.0。我們已經(jīng)用U盤提前做好了Ubuntu 20.0 desktop系統(tǒng)盤。 在選盤的時候,我們直接選擇新的空盤去裝ubuntu系統(tǒng),而沒有選擇與win和諧共處,也就是說,我們要使得兩個盤完全獨立,這樣雙系統(tǒng)系統(tǒng)不會影響對方。Ubuntu安裝完畢之后,拔掉U盤,按enter鍵重啟電腦。
在重啟的時候,會進(jìn)入grub登陸界面,此時需要按e進(jìn)入grub edit界面。在該界面,我們需要在quiet 后面添加 nomodeset,這是為了防止nouveou 影響顯卡的使用,詳細(xì)信息請看 what doest nomodeset
do?。于是,我們能夠正常進(jìn)入系統(tǒng)。
然后,我們開始安裝顯卡驅(qū)動,一開始,我們采用的是ubuntu系統(tǒng)自帶的可視化顯卡驅(qū)動安裝方式,后來我們采用命令行裝,效果其實都一樣,沒有任何影響和區(qū)別。好,我們裝完之后,直接reboot,嘉文的外星人就開始blackscreen 了,這個問題折磨了我們一晚上,不知道為什么裝了driver之后會黑屏。
我們找了無數(shù)的網(wǎng)頁,試了無數(shù)種辦法,都以失敗告終。后來我們才知道,黑屏其實是ubuntu的顯卡驅(qū)動無法讓外星人顯示器顯示圖像,但是電腦的所有程序,包括nvidia driver都是正常運行的。其實在昨天,我就發(fā)現(xiàn)了一個hint,就是外星人在黑屏狀態(tài)下,鍵盤一直都是紫色光。嘉文說她電腦在正常運行的時候鍵盤都是紫光,在剛剛開機的時候鍵盤都是閃爍著彩色,所以我昨天也隱約有這種感覺。后來,我開始求助于萬能的朋友圈,我的學(xué)弟就給我發(fā)來了易之學(xué)弟的alienware裝機指南,其中里面最有用的hint就是裝ssh。當(dāng)時學(xué)弟跟我留言說ssh時我有點蒙,但看到他給我發(fā)的易之寫的《Alienware 裝Ubuntu踩坑指南》之后,我才恍然大悟。這操作,太騷了。但可惜,jiawen的電腦太新了,顯卡也是新的3070,所以電腦還是黑屏。但我們可以妥協(xié):這個電腦可以直接當(dāng)成一個server,以后就拿別的電腦用ssh連它就好了。
于是我重新裝了ubuntu系統(tǒng)(我基本重裝了10次了),然后在裝driver之前,立刻裝上ssh-server,讓外星人能夠被ssh上。然后,我再重啟,開機,發(fā)現(xiàn)黑屏狀態(tài)時,我的電腦也能夠成功連接上嘉文的外星人。輸入nvidia-smi
之后,令人親切的cuda Nvidia界面出現(xiàn)了,(淚奔)。
于是,我們跟她說,這個電腦暫時就當(dāng)做服務(wù)器了,并且還需要固定ip,她家是光纖網(wǎng),路由器比較特別,網(wǎng)線接上之后不能直接聯(lián)網(wǎng),所以還是要鏈接wifi。她家的局域網(wǎng)也不能登陸192.168.1.1的路由地址,以后再看看如何在wifi下面綁定IP+MAC吧。好在她的手機路由app可以查看這個電腦IP。每當(dāng)這個電腦關(guān)機重啟,IP一旦改變,她的手機都能夠偵測到。苦了兩個大男人又要跑到walmart去買網(wǎng)線。
然后,終于能夠用她的筆記本去連這個外星人“server”了。開始了我們輕松的安裝Pytorch之旅。按照常規(guī)操作安裝了anaconda之后,我們創(chuàng)建帶著python3.6的虛擬環(huán)境伴著python3.6,然后就開始安裝Pytorch。注意,她的Nvidia Driver是11.3,由于RTX 30系列顯卡(她電腦是3070)的特殊性,我們不能用10.3版本的cuda toolkit 去安裝,必須要用CUDA 11.1。不要問我為什么,問就是30系列太新了,太高級了,無法向下兼容。(??)
conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c nvidia
然后,我們跑了一個簡單的mnist 程序,成功了!!!!淚奔!!!!
我剛剛回家,現(xiàn)在是晚上23:37, 記錄下這激動人心的時刻。然后繼續(xù)寫代碼擼論文,晚安。