最开始的配置是这样的:
- CPU:D1581
- 显卡:Tesla P40
- 内存:32G DDR4
但当配置确定下来没几天后,也许是家里人被我并不存在的上进心感动了,把服务器的配置全面升级了一番:
- CPU:13700KF
- 显卡:3070
- 内存:32G DDR5
不过伴随配置升级带来的兴奋感还没到半天,家里人就表示配置可能要” 稍微” 降级一下。虽然我对此表示情绪稳定,但在了解实际配置后我的情绪马上就不稳定了:CPU 确实是稍微降级了一点,变成了 13600KF,少了 4 个大核,不过价格降了不少,还能说是因为性价比。至于显卡方面,则是换成了 AMD 的 MI50 运算卡。
虽然我没研究过深度学习,但我对 AMD 玄学兼容性的恶名早有耳闻,不由得犹豫了起来。但在我稍微百度了一遍后,发现 AMD 早在几年前就发布了 ROCm 技术以对标 CUDA。看着描述里的 “支持 pytorch 和 tensorflow”,我便开始动心了,马上就同意了换成 A 卡。在现在领会到 AMD 的恶名后,我发现这真是我做过最后悔的决定。
铺垫的已经够了,废话少说,下面是完整折腾过程:
在安装驱动时,我本来还不以为意:这有什么难的?但在安装过程中,我足足换了大概 3 个系统:
- Ubuntu 22.10
- Ubuntu 22.04 带 GUI
- Windows10 LTSC 2019
- Ubuntu 22.04
而在折腾过程中,我也是足足掉进了不少坑里,也积累了不少经验,下面就按时间顺序总结一下:
1. 系统最高只支持 Ubuntu 22.04。为什么这点如此重要呢?因为 AMD 提供的 ROCm 安装程序依赖库及其老旧,高版本 apt 源并没有这类依赖库,因此会报无法安装。
2. 在使用 amdgpu-install 安装时,必须要带上 —no-dkms 参数,因为默认的 dkms 模式会将驱动安装至内核,而由于只支持 4.x 版本的老旧内核,因此在较新的内核安装时会遇到 dkms 一直提示无法安装的情况。
3. 一定不要用 Windows,因为 ROCm 并不支持 Windows 使用,意味着你只能用这张卡打游戏以及跑渲染和剪辑。
遇到的这些坑虽然看起来很少,但我却研究了好几天才成功,只能说 AMD 在深度学习方面打不过 N 不是没用原因的。
当你看到这里时,我终于安装成功了。在 google 以及 amd 官方人员的帮助下,我终于装好了显卡驱动并成功运行了 ai-benchmark。
以下是安装时用到的教程链接:
https://askubuntu.com/questions/1429376/how-can-i-install-amd-rocm-5-on-ubuntu-22-04
https://github.com/RadeonOpenCompute/ROCm/issues/1852#event-7730462672
以下是当前系统概览:
- 系统:Ubuntu server 22.04.1
- 内核:5.15
- Rocm 版本:5.1.1
当我折腾完这一切后,再回过头看,发现我的努力并没有白费:这张卡的 ai-benchmark 分数在 P100 和 3070 之间,而这两张卡价格都远超现在的这一张。再加上 16G 显存,在性价比方面的确有更为显著的优势。
要是 AMD 能够完善相关驱动支持的话,我觉得 A 卡还是很值得买的,性价比方面的巨大优势的确吸引了我这类穷学生。换个方面说,多亏了 AMD,我总算用上了便宜的 N 卡和 IU(逃)。
2022.11.15