[硬件参数] |
|
处理器: |
算能SG2042 X1 |
DDR |
128G,3200HZ |
[芯片参数] |
|
主频 |
2.0GHz |
核心数: |
64核 |
L1 Cache: |
I:64KB and D:64KB(Per Core) |
L2 Cache: |
1MB/Cluster(Per Cluster,X16 Cluster) |
L3 Cache: |
64MB System Cache |
[软件环境] |
|
linux版本: |
Ubuntu 22.10 |
gcc版本: |
12.2.0(GNU) |


参数含义
我们先来了解下测试参数的具体用法。
1. ARRAY_SIZE:
用于指定测试期间使用的数组大小。该参数定义了测试中要操作的内存块的大小,通常以字节为单位。通过更改 array_size 的值,可以评估系统在不同内存工作负载下的性能表现,关于设置的大小,我们可以从官网上查看到说明:
The general rule for STREAM is that each array must be at least 4x the size of the sum of all the last-level caches used in the run.
Useful links: https://www.cs.virginia.edu/stream/ref.html#runrules
也就是我们需要设置为最后一级缓存总和的 4 倍。
2. OpenMP :
-gcc编译器添加“-fopenmp” 选项多线程支持。
单线程Stream测试
我们的L3 Cache大小是64M,参考官方文档的建议,为了测试的准确性,选取了4倍大小的数据,也就是数组大小33554432作为基准,以2621440为梯度,依次增加数组大小,考察数组大小对测试结果的影响。选用的是gcc编译器。
单线程测试命令:
ubuntu@perfxlab:~/STREAM$ gcc -O3 -DSTREAM_ARRAY_SIZE=【ARRAY_SIZE】 stream.c
测试结果如下表:


ubuntu@perfxlab:~/STREAM$ gcc -O3 -fopenmp -DSTREAM_ARRAY_SIZE=【ARRAY_SIZE】 stream.c
测试结果如下表:
多线程 gcc -o3

正文完
看完Stream的测试报告,有没有一种冲动自己来试一试呢?64核RISC-V高性能处理器公共测试云平台持续开放中,欢迎广大开发者朋友参与进来(加群后可找管理员申请SUDO权限)。
-
加入微信讨论群:加iYuta-R2为好友后可拉入群。 -
加入QQ讨论群:906962594(RVBoards·Only RISC-V)
扫描二维码加群👇

对平台有任何的疑问都可以查阅《快速使用指南》(实时更新),也可以加群一起讨论。
64核RISC-V高性能处理器公共测试云平台 · 快速使用指南 https://www.kdocs.cn/l/cmnYcyFIlVRx


