前几天测试了在新 BIOS 5.0.0431-stable202602下的3b6000 XB612B0 v1.2 12核主板。发现在单线程下内存带宽有所提高,但多线程内存带宽几乎没有变化,使得多核性能尤其是浮点不尽人意,希望后面的BIOS版本能有所改进。
具体测试结果见下:
CPU / 主板:3B6000 12-core @ 2.2 GHz / XB612B0 v1.2
测试系统:Debian sid with binutils-2.45 (binutils-2.46 causes a performance regression on Loongarch, see here)
编译器:Debian gcc 15.2.0
BIOS_old : 去年购买时的原装BIOS 5.0.0030-beta
BIOS_new: 5.0.0431-stable202602
系统性能测试软件:SPEC CPU 2017 (使用的cfg文件参考 这里)
****** 单线程性能较前提升:
前面 这里 提到SPEC2017 rate-1测试受内存带宽影响较大的有四项测试:整数的505.mcf_r和浮点的503.bwaves_r、519.lbm_r、549.fotonik3d_r。在新BIOS下这几项rate-1成绩都有较大提高:
BIOS_old BIOS_new
505.mcf_r 4.19 4.84
503.bwaves_r 23.3 38.4
519.lbm_r 2.47 3.51
549.fotonik3d_r 7.34 10.9
整数rate-1成绩也由4.78提高到4.88, 浮点rate-1成绩由5.68提高到6.30。单线程浮点性能虽然提升较大,但每GHz性能仍未达到3A6000系统的水平(~7.55@2.5 GHz)。
****** 多核SPEC2017 rate-12成绩较前有较大幅度下降,但SPEC2017 rate-24性能较前基本持平。
测试时使用了3组内存:
内存1: SKhynix 16GBx2 2Rx8 DDR4 2666 RECC (前面的rate-1测试也使用了这组内存)
内存2: 紫光 16GBx2 1Rx8 DDR4 3200 UDIMM
内存3: Lenovo OEM (samsung颗粒) 32GBx2 2Rx8 DDR4 3200 UDIMM
三组内存的SPEC2017 rate-12成绩为:
BIOS_old BIOS_new
内存1整数 39.2 fail
内存1浮点 33.8 fail
内存2整数 ---- 27.9
内存2浮点 ---- 25.6
内存3整数 ---- 28.6
内存3浮点 ---- 25.8
三组内存的SPEC2017 rate-24成绩为 (32GB 内存时整数最多只能测到rate-23, 502.gcc_r在rate-24时内存不够出错; 64 GB内存时可测整数rate-24):
BIOS_old BIOS_new
内存1整数 44.6 ---- (rate-23)
内存1浮点 34.3 ----
内存2整数 ---- 41.0 (rate-21,更多rate数时fail)
内存2浮点 ---- 34.3
内存3整数 ---- 45.7
内存3浮点 ---- 34.4
BIOS_old的rate-24成绩呈现了明显的内存带宽瓶颈,浮点性能尤其受限。新BIOS增强了单线程内存带宽,但很多核时的内存带宽并未改善(下面做了测试),同时内存兼容性似乎也有下降。
****** 内存带宽/性能测试
利用了两个工具测试了内存3的带宽/性能:
- https://lemire.me/blog/2024/01/13/estimating-your-memory-bandwidth/
- phoronix-test-suite pts/ramspeed-1.4.3
刷了新BIOS后再刷旧BIOS内存带宽/性能也不会有变化,因此只给出BIOS_new的结果。内存带宽成绩相较作为对比的3A6000系统都有较大差距。
对比3A6000系统:
CPU / 主板:3A6000/XA61200
BIOS:edk2_202408_LoongArch64_pc_XA61200_MultiArchSupport
测试系统:Loongnix 25.1 rc2 (a variant of Debian 13)
内存:紫光 16GBx2 1Rx8 DDR4 3200 UDIMM
*** 测试1:
1 24.5 24.6
2 38.2 38.3
3 36.5 36.6
4 34.5 34.1
5 33.2 32.5
6 32.1 31.5
7 31.3 31.0
8 31.0 30.9
9 30.9 30.8
10 30.9 30.9
11 30.9 31.0
12 30.9 31.0
13 30.7 30.8
14 31.2 31.4
15 31.1 31.5
16 31.0 31.3
17 31.0 31.2
18 31.0 31.3
19 31.0 31.5
20 31.0 31.6
21 31.1 31.7
22 31.2 32.0
23 31.3 32.2
24 31.3 32.4
1-2线程时内存带宽较前有比较大的提高,但很多线程数时的成绩较前基本持平。下面是3A6000系统的成绩,很多线程数时有较大差距:
1 28.2 23.1
2 31.7 39.8
3 37.9 42.0
4 42.0 43.8
5 39.4 41.5
6 40.9 43.2
7 41.3 43.9
8 42.2 45.3
*** 测试2(整数测试,单位MB/s):
3A6000 3B6000
Add 26070.88 17329.41
Copy 26208.26 16672.66
Scale 26197.78 13705.84
Triad 26156.14 16556.45
Average 25596.79 15870.31
前几天测试了在新 BIOS 5.0.0431-stable202602下的3b6000 XB612B0 v1.2 12核主板。发现在单线程下内存带宽有所提高,但多线程内存带宽几乎没有变化,使得多核性能尤其是浮点不尽人意,希望后面的BIOS版本能有所改进。
具体测试结果见下:
CPU / 主板:3B6000 12-core @ 2.2 GHz / XB612B0 v1.2
测试系统:Debian sid with binutils-2.45 (binutils-2.46 causes a performance regression on Loongarch, see here)
编译器:Debian gcc 15.2.0
BIOS_old : 去年购买时的原装BIOS 5.0.0030-beta
BIOS_new: 5.0.0431-stable202602
系统性能测试软件:SPEC CPU 2017 (使用的cfg文件参考 这里)
****** 单线程性能较前提升:
前面 这里 提到SPEC2017 rate-1测试受内存带宽影响较大的有四项测试:整数的505.mcf_r和浮点的503.bwaves_r、519.lbm_r、549.fotonik3d_r。在新BIOS下这几项rate-1成绩都有较大提高:
整数rate-1成绩也由4.78提高到4.88, 浮点rate-1成绩由5.68提高到6.30。单线程浮点性能虽然提升较大,但每GHz性能仍未达到3A6000系统的水平(~7.55@2.5 GHz)。
****** 多核SPEC2017 rate-12成绩较前有较大幅度下降,但SPEC2017 rate-24性能较前基本持平。
测试时使用了3组内存:
内存1: SKhynix 16GBx2 2Rx8 DDR4 2666 RECC (前面的rate-1测试也使用了这组内存)
内存2: 紫光 16GBx2 1Rx8 DDR4 3200 UDIMM
内存3: Lenovo OEM (samsung颗粒) 32GBx2 2Rx8 DDR4 3200 UDIMM
三组内存的SPEC2017 rate-12成绩为:
三组内存的SPEC2017 rate-24成绩为 (32GB 内存时整数最多只能测到rate-23, 502.gcc_r在rate-24时内存不够出错; 64 GB内存时可测整数rate-24):
BIOS_old的rate-24成绩呈现了明显的内存带宽瓶颈,浮点性能尤其受限。新BIOS增强了单线程内存带宽,但很多核时的内存带宽并未改善(下面做了测试),同时内存兼容性似乎也有下降。
****** 内存带宽/性能测试
利用了两个工具测试了内存3的带宽/性能:
刷了新BIOS后再刷旧BIOS内存带宽/性能也不会有变化,因此只给出BIOS_new的结果。内存带宽成绩相较作为对比的3A6000系统都有较大差距。
对比3A6000系统:
CPU / 主板:3A6000/XA61200
BIOS:edk2_202408_LoongArch64_pc_XA61200_MultiArchSupport
测试系统:Loongnix 25.1 rc2 (a variant of Debian 13)
内存:紫光 16GBx2 1Rx8 DDR4 3200 UDIMM
*** 测试1:
1-2线程时内存带宽较前有比较大的提高,但很多线程数时的成绩较前基本持平。下面是3A6000系统的成绩,很多线程数时有较大差距:
*** 测试2(整数测试,单位MB/s):