苦于学校的cluster迟迟排不上队伍,我的lab member有一台Alienware m17r4想整上deep learning 工作站向我跟海宝求助。我跟她建议和我们家自己散装的工作站一样,买一块独立的硬盘添加到电脑背面,作为ubuntu server的系统盘。于是,我们参考了b站视频 外星人Alienware M17 R4 笔记本固态加装教程!新人up的第一次拆机,加装配件!
学会了怎么拆机,加装固态。我们建议她立刻在amazon上立刻购买Dell的散热片 (散热马甲:戴尔官方,链接)。
她去bestbuy购买了三星970 EVO Plus (1T)。
万事俱备后,我们一块把电脑拆了,发现我们家的螺丝刀都不好用,于是派出我们的男友们晚上去walmart购买万能螺丝刀(大概15刀),终于能够把所有的钉子都能拆下来了(泪目)。我们按照视频教程,拆掉螺丝,打开后盖,拔掉了电源线,拧开固态硬盘螺丝,插入固态硬盘,接上固态硬盘螺丝。一开始没有加散热片因为leasing office关门了,暂时拿不到,我们是第二天又拆机补加的。
以下是装ubuntu和nvidia driver的痛苦之旅:
首先,我们开始安装ubuntu20.0。我们已经用U盘提前做好了Ubuntu 20.0 desktop系统盘。 在选盘的时候,我们直接选择新的空盘去装ubuntu系统,而没有选择与win和谐共处,也就是说,我们要使得两个盘完全独立,这样双系统系统不会影响对方。Ubuntu安装完毕之后,拔掉U盘,按enter键重启电脑。
在重启的时候,会进入grub登陆界面,此时需要按e进入grub edit界面。在该界面,我们需要在quiet 后面添加 nomodeset,这是为了防止nouveou 影响显卡的使用,详细信息请看 what doest nomodeset
do?。于是,我们能够正常进入系统。
然后,我们开始安装显卡驱动,一开始,我们采用的是ubuntu系统自带的可视化显卡驱动安装方式,后来我们采用命令行装,效果其实都一样,没有任何影响和区别。好,我们装完之后,直接reboot,嘉文的外星人就开始blackscreen 了,这个问题折磨了我们一晚上,不知道为什么装了driver之后会黑屏。
我们找了无数的网页,试了无数种办法,都以失败告终。后来我们才知道,黑屏其实是ubuntu的显卡驱动无法让外星人显示器显示图像,但是电脑的所有程序,包括nvidia driver都是正常运行的。其实在昨天,我就发现了一个hint,就是外星人在黑屏状态下,键盘一直都是紫色光。嘉文说她电脑在正常运行的时候键盘都是紫光,在刚刚开机的时候键盘都是闪烁着彩色,所以我昨天也隐约有这种感觉。后来,我开始求助于万能的朋友圈,我的学弟就给我发来了易之学弟的alienware装机指南,其中里面最有用的hint就是装ssh。当时学弟跟我留言说ssh时我有点蒙,但看到他给我发的易之写的《Alienware 装Ubuntu踩坑指南》之后,我才恍然大悟。这操作,太骚了。但可惜,jiawen的电脑太新了,显卡也是新的3070,所以电脑还是黑屏。但我们可以妥协:这个电脑可以直接当成一个server,以后就拿别的电脑用ssh连它就好了。
于是我重新装了ubuntu系统(我基本重装了10次了),然后在装driver之前,立刻装上ssh-server,让外星人能够被ssh上。然后,我再重启,开机,发现黑屏状态时,我的电脑也能够成功连接上嘉文的外星人。输入nvidia-smi
之后,令人亲切的cuda Nvidia界面出现了,(泪奔)。
于是,我们跟她说,这个电脑暂时就当做服务器了,并且还需要固定ip,她家是光纤网,路由器比较特别,网线接上之后不能直接联网,所以还是要链接wifi。她家的局域网也不能登陆192.168.1.1的路由地址,以后再看看如何在wifi下面绑定IP+MAC吧。好在她的手机路由app可以查看这个电脑IP。每当这个电脑关机重启,IP一旦改变,她的手机都能够侦测到。苦了两个大男人又要跑到walmart去买网线。
然后,终于能够用她的笔记本去连这个外星人“server”了。开始了我们轻松的安装Pytorch之旅。按照常规操作安装了anaconda之后,我们创建带着python3.6的虚拟环境伴着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 程序,成功了!!!!泪奔!!!!
我刚刚回家,现在是晚上23:37, 记录下这激动人心的时刻。然后继续写代码撸论文,晚安。