Skip to content

STREAM

STREAM 是由University of Virginia提供的内存效率评测程序。该程序可以测评处理器的可持续内存访问带宽和计算效率,常用于衡量高性能集群上的内存访问能力。

环境配置与运行

我们可以直接从官网获取STREAM的代码,建议直接从C代码编译成可执行文件。

wget https://www.cs.virginia.edu/stream/FTP/Code/stream.c
gcc -O2 stream.c -o stream_c

STREAM可以通过一些参数来帮助更好的测试,调整这些参数需要通过编译选项设置宏来实现。例如调整数组规模可以使用

gcc -O -DSTREAM_ARRAY_SIZE=100000000 stream.c -o stream.100M

具体信息可以参考stream.c中的指导,参数的调整需要满足相应的规则。

你需要运行编译好的stream测试程序。使用单进程运行即可。

./stream_c

正常运行后你会得到类似下面的输出,包含四种测试结果

Function    Best Rate MB/s  Avg time     Min time     Max time
Copy:           12873.1     0.015070     0.012429     0.019322
Scale:          12484.4     0.015227     0.012816     0.017954
Add:            13606.3     0.020941     0.017639     0.024883
Triad:          13616.9     0.022613     0.017625     0.032550

注意在集群上你可能需要使用slurm进行任务提交。

STREAM可以使用多线程或多进程运行,但由于程序并不涉及进程间通信,运行结果应该与节点数成正比。

提交

请将程序的输出重定向至文件,并将文件提交至给定的目录下。