1.STREAM测试工具介绍

STREAM是业界广为流行的综合性内存带宽实际性能测量工具之一。随着处理器处理
核心数量的增多,内存带宽对于提升整个系统性能越发重要,如果某个系统不能足够
迅速地将内存中的数据传输到处理器当中,若干处理核心就会处于等待数据的闲置状
态,而这其中所产生的闲置时间不仅会降低系统的效率还会抵消多核心和高主频所带
来的性能提升因素。STREAM具有良好的空间局部性,是对TLB友好、Cache友好的一
款测试。STREAM支持Copy、Scale、Add、Triad四种操作。

2.软件下载方法

下载链接:https://github.com/jeffhammond/ STREAM

通过访问上面链接下载.ZIP压缩包。

3.软件安装

3.1 安装步骤

(1)将下载的压缩包"STREAM-master.zip"解压:unzip  STREAM-master.zip;

(2)进入解压后的目录:cd STREAM-master

(3)修改Makefile文件:

CC = gcc
CFLAGS = -O3  -fopenmp -DSTREAM_ARRAY_SIZE=64000000 -DNTIMES=30 -mcmodel=medium
#FC = gfortran
#FFLAGS = -O3 -fopenmp -mcpu=native -ffp-contract=fast -fopenmp
all: stream_c.exe

保存退出。

(4)编译程序:执行make命令进行编译,编译后会在当前目录下生成”stream.exe“的可执行文件。

3.2 相关参数介绍

(1) -O3                                               #使用编译优化选项为O3

(2) -mcmodel=medium                      #当单个Memory Array Size 大于2GB时需要设置此参数

(3) -fopenmp                                     #适应多处理器环境,开启后,程序默认线程为CPU线程数;也可以运行时动态指定运行的进程数。例如,自定义8个线程运行,可使用环境变量:

export OMP_NUM_THREADS=8

(4)-DSTREAM_ARRAY_SIZE         #用于指定stream一次搬运的数据量,其值的设置可以参考                                                                stream.c中的说明

(5)-DNTIMES                                   #执行次数,并从中选出最优的结果

4.stream支持的copy、scale、add、triad四种操作

copy操作:先访问一个内存单元读出其中的值,再将值写入到另一个内存单元。

scale操作:先从内存单元读出其中的值,作一个乘法运算,再将结果写入到另一个内存单元。

add操作:先从内存单元读出两个值,做加法运算,再将结果写入到另一个内存单元。

triad:将以上三种操作组合起来进行测试。

5.测试运行

执行stream.exe(若Makefile文件按照第3步的编写,则默认是所有cpu线程运行测试)。

若想执行单线程测试,则可使用环境变量设置线程数(export  export OMP_NUM_THREADS=1)然后再执行。

测试示例:

内存带宽stream测试相关推荐

  1. Linux下stream内存带宽测试参数和示例详解附源码(总结)

    目录 一.简介 二.使用简介 2.1 测试内容简介 2.2 编译参数简介 2.3 具体参数示例 三.源码下载及使用 四.其他相关知识链接 FIO测试硬盘性能参数和实例总结 一.简介 本文通过实例详细讲 ...

  2. K1 Power Linux上Stream测试内存带宽

    K1 Power Linux上Stream测试内存带宽 本篇文章介绍在K1 Power Linux上理论内存带宽结算,实测内存带宽方法,衡量服务器的内存带宽水平.需要说明的是,对于Scale UP的P ...

  3. stream.c 内存带宽测试

    内存带宽测试工具:stream 介绍 Stream测试是内存测试中业界公认的内存带宽性能测试基准工具,作为衡量服务器内存性能指标的通用工具. 2. 原理 申请了三个巨大的双精度浮点数组a[N], b[ ...

  4. 【开发工具】【stream】内存带宽测试工具(Stream)的使用

    获取更多相关的嵌入式开发工具,可收藏系列博文,持续更新中: [开发工具]嵌入式常用开发工具汇总帖 Stream简介 STREAM是一套综合性能测试程序集,通过fortran和C两种高级且高效的语言编写 ...

  5. stream测试内存_.net core百万设备连接服务和硬件需求测试

    随着物联网的普及,服务应用将面对大量物联设备处理:早期.NET在通讯上的处理能力一直给人的印像并不怎样,但net core经历过大量的优化后在各个模块的处理性能都有着比较出色的提升,针对网络方向的处理 ...

  6. Linux内存带宽的一些测试笔记

    最近要测一下设备的内存性能,于是找了些资料,用了些工具,写了些笔记.那个设备是intel的CPU,而intel有个很强大的工具,叫PTU,但我死活找不到下载链接,找到的文章是几年前写的,从那篇文章看是 ...

  7. bandwidth 0.32k 发布,内存带宽测试工具

    bandwidth 0.32k 修复了一些小的 AVX 问题. Bandwidth 是一个内存带宽测试的基准工具,但它也可以测量网络带宽.它可以测量每个内存系统的最大内存带宽,包括主内存,L1和L2缓 ...

  8. 内存性能测试---stream benchmark 的使用

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/zoushidexing/article ...

  9. 服务器内存延迟,内存带宽、延迟性能测试

    内存带宽.延迟性能测试 华为FusionServer 2488H V5服务器主板集成了48个内存插槽,但送测机器配备有限.由于送测机型整合了四通道内存控制器,这样使得平台的内存带宽得到了明显的提升. ...

  10. 嵌入式里如何给内存做压力测试?不妨试试memtester

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是内存读写正确性压力测试程序memtester. 在嵌入式系统中,内存(RAM)的重要性不言而喻,系统性能及稳定性都与内存息息相关.关于内 ...

最新文章

  1. 一道指针压轴笔试题讲解 (进阶指针必看)
  2. 借助Ant工具,实现快速开发
  3. 猫眼娱乐2020年上半年交出最差答卷,下半年能满血复活吗?
  4. php detailview,GridView以及DetailView的数据格式化
  5. 要学好linux运维请从排版画图开始
  6. 学习windows编程 day6 之模拟记事本
  7. Linux装c编译器gcc,c编译器进阶之路,linux下的gcc c编译器使用教程
  8. 知识图谱论文阅读(二十)【WWW2020】Heterogeneous Graph Transformer
  9. BeautifulSoap库入门
  10. UE4.27 Live Link Face无法连接的一种解决办法
  11. SS LSTM全文翻译
  12. 蝴蝶效应,青蛙现象,鳄鱼法则,鲇鱼效应,羊群效...
  13. python PIL 将两个图片合成一张
  14. 微信小程序(uniapp)获取用户位置信息及选择位置
  15. pytorch 12 支持任意维度数据的梯度平衡机制GHM Loss的实现(支持ignore_index、class_weight,支持反向传播训练,支持多分类)
  16. Labview调用EXE形式COM组件
  17. (三)展望Java技术的未来
  18. 推荐系统实践读书笔记-01好的推荐系统
  19. java如何产生一个随机数
  20. 智慧网 分享DCT,DST,matlab

热门文章

  1. 切换进程 切换线程
  2. 【PC】如何让程序开机自启动/如何打开开机自启动文件夹
  3. MacBook在任意文件夹目录打开终端
  4. 前后端交互、Node、npm、Express、mysql基础
  5. 外贸软件出口管理系统亮点及重点
  6. 详解自动驾驶安全软件开发流程
  7. 浏览器全球的书签都在这里了,看看有没有你的!
  8. 小写和大写开头的英文名字  internet 和Internet在意思上有何重要区别?
  9. CF #595 Div.3 F. Maximum Weight Subset//树形dp
  10. python爬虫练习2:取道指成分股数据