我又装了一次机
如题,我又装了一次机。意思是,我自己攒了一台组装电脑,然后自己装了系统,不是一个,而是 Windows 和 Linux 俩。上一次干类似的事大约是 2004 年。
总的感想是:这个行业虽然算不上“一日千里”,但十几年的时间还是改变了不少东西:Windows 再也不是那个每次重启都有可能起不来的玩意儿,Linux 再也不是要折腾一天才能访问中文网站并差强人意地播放音视频的怪兽。然而也有些事情似乎永远也不会变,比如 Mac 无论多么优雅强大,显卡以及显卡的驱动永远跟不上时代——这也是我这次装机的动机:我要深度(wán)学(yóu)习(xì)啊!
本着 一步到位 和 安静小巧 两大原则,装机配置如下:
- CPU:Intel i7-6700k
- 主板:ASUS Z170I PRO GAMING (Intel Z170/LGA 1151)
- 内存:CORSAIR Vengeance LED DDR4 3000 32GB (16Gx2)
- 显卡:GIGABYTE GTX1080 G1 GAMING 8GD
- 存储:Samsung 960 EVO 1TB M.2 NVMe
- 显示器:Dell P2715Q
- 机箱:JONSBO VR1 Mini-ITX
- 电源:Seasonic X-750
- 散热器:NOCTUA NH-U9S
因为核心动机锁定了 GTX1080 和 4K 显示,所以其他配套上就完了,最后正好两万以下搞定(嗯我知道电源有点 overkill…
吐槽时间:在一个早就没了光驱的时代,华硕和技嘉还是选择光盘来提供驱动和工具,理解不能。
操作系统方面,Windows 没啥好说的,装系统、升级系统、装 Battle.net、装 Steam、装 Origin(对不起你就是台游戏机 (⊙﹏⊙)b
简单扫了下网上的资料,发现搞科学计算和人工智能的人都不折腾,所以就 Ubuntu 16.04 LTS 了,然后装 NVIDIA 驱动、装 CUDA 和 cuDNN、装 TensorFlow…这个流程里有些 tricky 的陷阱,浪费了我大半天,最后找到的最简单有效的路径如下:
- 对较新主板的 BIOS(UEFI)和 16.04 LTS,Secure Boot 会阻止加载第三方硬件驱动,有两个选择:简单粗暴的禁用它(Ubuntu 安装程序有提示),或者对第三方驱动进行签名授信,本着不折腾的原则,我直接安装时就把它禁了…
- 下载 CUDA Toolkit 8.0,这个页面上针对 Ubuntu 有四个可选的下载选项,其中最好的选项是“deb (network)” 这个,别的都是坑…
- 安装这个包并更新索引:
sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo apt update
- 这个时候去 Ubuntu 的系统设置里打开 Software & Updates,在 Additional Drivers 下面可以看到最新 NVIDIA 驱动的选项,选之,会自动安装好,之后需要重启,这个方法可以避开一大堆手工操作的麻烦,是这次装 Ubuntu 感觉比以前进步最大的一点。
- 然后就可以风平浪静的:
sudo apt-get install cuda
- 下载 cuDNN 并安装:
tar xvzf cudnn-8.0-linux-x64-v5.1.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
$ export TF_BINARY_URL=https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/gpu/tensorflow_gpu-1.0.0-cp27-none-linux_x86_64.whl
# virtualenv
$ sudo apt-get install python-pip python-dev python-virtualenv
$ virtualenv --system-site-packages ~/tensorflow
$ source ~/tensorflow/bin/activate
(tensorflow)$ pip install --upgrade $TF_BINARY_URL
# Anaconda
$ conda create -n tensorflow
$ source activate tensorflow
(tensorflow)$ pip install --ignore-installed --upgrade $TF_BINARY_URL
最后…图。因为我的显卡是晚了两天到的,所以先装了其他部分用集显启动装的 Windows:
毕竟这么多年了,看到这个画面还是舒了口气:
然后显卡来了…
回家把服役七年的 iMac 抱到客厅安置好,收拾干净的书桌:
闪亮登场:
按照 TensorFlow 的例子画了个 Mandelbrot 集,话说当年在大学写的第一个 Pascal 程序也是画的这个,这算是轮回么……