WeHack BBS
Ryzen 平台组装笔记 - 可打印的版本

+- WeHack BBS (https://bbs.wehack.space)
+-- 版块: 其他讨论 (https://bbs.wehack.space/forum-10.html)
+--- 版块: 自由讨论区 (https://bbs.wehack.space/forum-13.html)
+--- 主题: Ryzen 平台组装笔记 (/thread-76.html)



Ryzen 平台组装笔记 - vimacs - 03-22-2019

由于工作的原因,我想组一台 CPU 计算能力更强的机器。由于今年 Ryzen 3 要出来,因此我犹豫了很长时间。昨天我终于下定决心,在淘宝买了主板+CPU套装,在京东买了内存条,今天都到货了。


新老平台比较
--------------

原来的机器是 Haswell 平台::

- CPU: E3-1271 v3 @ 3.6~4.0GHz
- 主板: ASRock H81M-HDS
- 内存: DDR3 1600 8G*2
- 显卡: GTX 650
- 无线网卡: AR9380
- 硬盘: SAMSUMG SSD 830 512G

新平台改用 Ryzen::

- CPU: Ryzen 7 2700 @ 3.2~4.1GHz
- 主板: ASUS PRIME B450-PLUS (既然我有个大机箱,干脆就上 ATX 的板子)
- 内存: Crucial DDR4 2666 16G*2, Part Number CT16G4DFD8266.C16FE

主板有 2 个 PCIe x16 和 3 个 PCIe x1,除此之外还一个 M.2 口。内存插槽有 4 个。SATA 口有 6 个。因此原来用的显卡、无线网卡和硬盘都没换,直接装在新机器上。

我买的主板 CPU 套装的 CPU 是盒装的,带散热器。主板上已经安装好了 CPU 的扣具,要安装 AMD 的 CPU 散热器,要先把扣具拆下,然后装散热器。安装散热器的时候才发现,散热器已经涂好了硅脂,之前涂硅脂的工作白做了。

主板的 BIOS 芯片应该是 CPU 附近的一块 SOIC-8 芯片,型号是 GigaDevice GD25LQ128. 看名字是一块 16MB 的 NOR flash. 尝试用 CH341a 读取,flashrom 在读取时报错,没读出来。

Super I/O 是 ITE 的芯片,具体型号没仔细看,主板上有个 9 针串口的排针,针脚定义和我之前用的 ASRock 主板一样,因此原来用的串口线也能用在新主板上。

主板上的 USB 有 USB2, USB3 和 USB3 Type C 接口。显示接口有 HDMI 和 DVI,不过只有用有核显的 CPU 才有用。有一个 PS/2 口,应该是鼠标和键盘都能用,我接的是之前用的一个 PS/2 键盘。


性能
----------

出于工作的原因,性能测试我就用构建 gem5 模拟器(一个用 C++ 编写的模拟器),和用 gem5 模拟器模拟程序这两个工作进行性能测试。

系统是 Debian 9 GNU/Linux, 内核用 backport 的 4.19.16. 事实上,用 Debian stable 的 4.9.144 内核,机器也能正常工作。

构建 gem5
~~~~~~~~~~

我用上游的 487ea069 这个 git 版本,先用 ``git clean -xf; rm -rf build`` 清理源码树,再用 ``scons -j$(nproc) build/X86/gem5.fast`` 构建

在原来的 Haswell 平台上,4核8线程,构建时间为 8m28s. 而在新的 Ryzen 平台下,8核16线程,构建时间为 5m45s. 此外我还尝试了关闭 SMT,用内核命令行 ``nosmt`` 或者在 BIOS 的设置中关闭 SMT,效果相当,8核8线程下,构建时间为 6m15s.

在构建 gem5 的时候通过 /proc/cpuinfo 查看处理器的频率,发现在满载的时候,频率在 3.4GHz 以下,只比基频 3.2GHz 高一点。而用 stress 对一个核做压力测试的时候,是可以让一个核达到接近 4.1GHz 的最高频率的。看来如果要想在满载的时候有更高的频率,还是要用 2700X,不过它的 TDP 也高不少。


运行模拟器
~~~~~~~~~~~~

我用 ``./build/X86/gem5.fast configs/example/se.py -c dhrystone`` 运行编译出来的模拟器。

原来的 Haswell 平台下,模拟速度为 2.1M inst/s. 而新的 Ryzen 平台下,模拟速度只有 1.6M inst/s. 也就是说我的新平台运行 gem5 模拟器这一应用时,单核的 IPC 还是比 Haswell 差一点。不知道改用更高频的内存能不能改善性能。暂时也没能测试编译器的编译参数对性能有多少影响。


总结
-------

我这套新配 Ryzen 平台在多线程性能上的确优于我原来的 Haswell 平台,不过 AMD 的处理器单核性能还是差了一点,能耗上新平台应该做得更好一些。

至于固件自由的问题,用新平台就没法考虑太多了,原来的 Haswell 平台用的是 coreboot,只有 mrc.bin, VGA BIOS 和一个精简过的 ME 固件,新平台有 AMD PSP (ME 在 AMD 平台的等价物),BIOS 是私有的,就是移植了 coreboot 上去也要跑大量的 blob.


RE: Ryzen 平台组装笔记 - vimacs - 03-26-2019

换了平台后,新的主板有一个HD-Audio设备,而NVIDIA的显卡也有个HDA设备,在新平台上,主板的HDA设备编号为1,要让它成为默认声卡,要设置alsa. 在 ~/.asoundrc 写上:


代码:
pcm.!default {
   type hw
   card 1
}

ctl.!default {
   type hw          
   card 1
}