作为一个并不上进的带学生,在听说隔壁人工智能专业寒假有旁听网课时,我便立刻报名参加并顺利通过了申请。但这门课有个很坑的地方:设备必须自带。想起我那跑ai绘画分辨率一拉高都能崩的垃圾电脑,在得到家人支持后,我便开始了服务器的组建。

最开始的配置是这样的:

  • 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个系统:

  1. Ubuntu 22.10
  2. Ubuntu 22.04 带GUI
  3. Windows10 LTSC 2019
  4. 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