全部产品
云市场

STREAM

更新时间:2019-03-08 11:22:36

简介

STREAM测试是内存测试中业界公认的内存带宽性能测试基准工具,是衡量服务器内存性能指标的通用工具。STREAM具有良好的空间局部性,是对 TLB 友好、Cache友好的一款测试,支持Copy、Scale、Add、Triad四种操作。

准备工作

若您尚未拥有E-HPC集群,请先创建E-HPC集群

  • 运行以下示例需要在创建集群时或者软件管理界面上选择安装STREAM软件包

勾选stream

运行STREAM测试

  • E-HPC控制台编译STREAM

为了避免数据Cache重用对测试结果准确度产生较大影响,需确保STREAM开辟的数组大小远大于L3 Cache的容量且小于内存的容量。因此在实际测试中要根据测试节点配置对STREAM进行重新编译。由E-HPC管理控制台进入集群命令运行界面,登录节点执行如下操作。

编译stream

  1. $ cd /opt/stream/2018/; gcc stream.c -O3 -fopenmp -DSTREAM_ARRAY_SIZE=1024*1024*1024 -DNTIMES=20 -mcmodel=medium -o stream.1g.20 #-DSTREAM_ARRAY_SIZE用于指定STREAM一次搬运的数据量,-DTIMES用于指定迭代次数
  • E-HPC控制台创建STREAM.pbs作业脚本

作业管理界面中,依次选择“创建作业”->“新建文件”->“使用文件模板”->“pbs demo”,对pbs demo脚本进行修改,得到STREAM作业脚本STREAM.pbs如下。

  1. #!/bin/sh
  2. #PBS -j oe
  3. #PBS -l select=1:ncpus=<N> #N为节点CPU核数,实际测试中根据节点配置进行设置
  4. export MODULEPATH=/opt/ehpcmodulefiles/
  5. module load stream/2018
  6. echo "run at the beginning"
  7. OMP_NUM_THREADS=1 /opt/stream/stream.1g.20 > stream-1-thread.log
  8. OMP_NUM_THREADS=2 /opt/stream/stream.1g.20 > stream-2-thread.log
  9. OMP_NUM_THREADS=4 /opt/stream/stream.1g.20 > stream-4-thread.log
  10. OMP_NUM_THREADS=8 /opt/stream/stream.1g.20 > stream-8-thread.log
  11. ...
  12. OMP_NUM_THREADS=<N> /opt/stream/stream.1g.20 > stream-<N>-thread.log
  • E-HPC控制台提交STREAM测试作业

确定下图左侧作业基本参数后,点击右上角“确认”提交作业。作业个性化配置、作业导入、作业导出以及作业状态查看,请参见作业管理

提交作业

  • E-HPC控制台查看结果文件

E-HPC管理控制台,点选集群右侧“更多”选项,选择“执行命令”,进入集群命令运行界面。点击“批量执行”,选择集群登录/管控节点执行命令,查看STREAM作业结果文件。

stream结果