1)测试用例介绍

Stream 工具是一个用于测试持续内存带宽及相应简单核向量(simple kernel vector) 运算速度的综合基准测试工具。计算机 CPU 运算速度的增长远超过内存访问速度的增 长,在这样的情况下,越来越多程序的性能会因为内存带宽受到限制而非 CPU。

2)测试用例下载

链接:https://pan.baidu.com/s/1O7cPV1ciq_QvKnt94cwZsg
提取码:rb9x
网络参考:https://blog.csdn.net/liudong124521/article/details/101205119

3)测试参数指导

编译示例:
gcc -O2 -fopenmp
-DSTREAM_ARRAY_SIZE=357800000 -DNTIMES=10 -
mcmodel=large -o stream8g stream-5.10.c
--O2:优化等级,优化包括精简操作指令、通过对程序行为的分析,调整代码的执
行顺序、充分使用寄存器等等,优化等级包括 O0O1O2O3
--fopenmp:使用 omp 功能,适应多处理器环境,开启后程序默认线程数为 CPU 线
程数,可以通过 OMP_NUM_THREADS 环境变量指定线程数;
--mcmodellarge 解除最大内存的限制;
--o:指定输出文件名;
--DNTIMES:执行次数,默认为 10 次;
--DSTREAM_ARRAY_SIZE:数组大小
规模计算方法:
a) 规模计算公式:(3.0 * BytesPerWord) * ( (double) STREAM_ARRAY_SIZE ))
STREAM_ARRAY_SIZE:进行运算的数组大小,是一个宏定义,数组大小对测
试结果影响较大,为使带宽值最大数组大小要大于缓存的 4 倍。
b) BytesPerWord=sizeof(double)32 位、64 位系统中 double 类型均占 8 字节
3.0:表示有 3 STREAM_ARRAY_SIZE
c) 测试总规模大小:数组大小要大于缓存的 4 倍,总规模大小要小于等于内存的
60%,且运算时间要大于 20ms
例如: A * 1024 * 1024 * 1024 = 3 * 8 * N
A 表示测试规模大小,N 表示 STREAM_ARRAY_SIZE 的大小。

4)测试指令指导

单线程测试指令:
export OMP_NUM_THREADS=1
./stream8g
64 线程测试指令:(FT-2000+/64&S2500单路)
export OMP_NUM_THREADS=64
export GOMP_CPU_AFFINITY=0-63
./stream8g
128 线程测试指令: (S2500 双路)
export OMP_NUM_THREADS=128
export GOMP_CPU_AFFINITY=0-127
./stream8g
256 线程测试指令: (S2500 四路)
export OMP_NUM_THREADS=256
export GOMP_CPU_AFFINITY=0-255
./stream8g
Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐