risc-v公测平台stream程序路径:/public/benchmark/stream/5.10
前言 stream 是一种基准测试工具,用于评估计算机系统的内存带宽性能。它通过模拟内存访问模式,测试系统在读取和写入连续内存块时的速度,衡量系统的内存性能和数据传输效率。
平台环境 [硬件参数]
处理器: 算能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)
cpu 信息64核示意 参数含义 我们先来了解下测试参数的具体用法。
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 测试结果如下表:
单线程 gcc -o3
多线程stream测试 和单线程stream测试一样,同样可以做不同数组大小的多线程stream 测试,选取的数组大小和单线程一样。
ubuntu@perfxlab:~/stream$ gcc -o3 -fopenmp -dstream_array_size=【array_size】 stream.c 测试结果如下表:
多线程 gcc -o3 结论单核vs多核 gcc -o3 从结果可以看出,多核测试的结果明显高于单核测试的结果。多核测试利用了多个处理核心并行执行任务,从而表现出更大的数据带宽。在多核测试中,copy操作的性能是单核测试的大约5倍,scale操作的性能约为单核测试的6倍。
综上所述,多核测试在copy和scale操作中显示出了明显的性能优势,而在add和triad操作中的性能提升较小。这与多核处理器的并行处理能力和数据依赖性有关。多核测试结果显示出了多核处理器在并行计算和数据处理方面的优势。
中国广电助力国内三大运营商在350+城市实现规模商用?
GTC23 | 看全球领先企业在 AI 金融上的成功实践!请关注这场分会
领邦智能工博会推出适用于AI的通用光学技术,实现重大技术突破!
下一代存储芯片,国产芯片商开始弯道超车!
在人工智能与大数据的助力下 未来的教育必将更加开放、多样和公平
RISC-V公测平台发布 · Stream带宽完整测试
PTC:从Pro/ENGINEER到Creo
常州欣盛拿下京东方和惠科集团的订单
树莓派能用来做啥_树莓派和单片机的区别
GEWISS IEC309系列工业连接器接插件
蒙特利尔银行正在将区块链技术用于加元的固定收益问题
深度解析五十铃新款4J系列发动机
机器人时代来临?2012年十大炫酷机器人登场
物联网领域里的8位单片机:用传统芯片简化高级架构接口
基于MAXQ3120微控制器的性能特点与应用分析
科创板睿创微纳董事、董事长、总经理马宏介绍、履历信息
高通为改善5G芯片出货的动能已经对其5G芯片进行了大幅度降价
华为自主研发的鸿蒙系统,能否全面替代安卓
东风岚图MPV车型曝光:增程/纯电都有,20分钟充满电!
机房智能巡检机器人的功能特点