内存带宽测试工具:stream

  1. 介绍

Stream测试是内存测试中业界公认的内存带宽性能测试基准工具,作为衡量服务器内存性能指标的通用工具。

2. 原理

申请了三个巨大的双精度浮点数组a[N], b[N], c[N], 分别进行如下运算,其中scalar是双精度浮点标量。

主要参数:

N

数组的长度

NTIMES

运算执行的次数

OFFSET

偏移量,一般默认为0

运算:

copy

a[i] = b[i]

scale

a[i] = scalar * b[i]

add

a[i] = b[i] + c[i]

triad

a[i] = b[i] + scalar * c[i]

通过NTIMES次执行,分别统计4种运算的最短时间mintime、最长时间maxtime、平均时间avgtime。最终bandwidth = 1.0E-06 * bytes[j]/mintime[j];

3、编译运行

编译选项:gcc -O2 -fopenmp -mcmodel=medium stream.c

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

4、输出

5、注意

①编译运行前需要知道测试机器的运行内存大小M,根据运行内存大小M得到N的值。

N× 8(双精度) × 3 (三个数组)<= 0.6*M

②测试过程中,要保证使用到的内存容量要大于处理器内的缓存,只有这样才会有内存的操作,而不仅仅是对处理器内缓存的操作。

③为了保证测试可以持续一段时间,测试过程中内存带宽可以达到一定的最大值,从而避免得不到实际最大峰值的情况,如果四项测试中有完成时间小于20微秒的情况,就需要适当的增大测试数组的维度 N。

6、例子

测试机器内存 16G 则 N× 8(双精度)× 3(三个数组)<= 0.6*16G 推出N = 430000000

stream.c 内存带宽测试相关推荐

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

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

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

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

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

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

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

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

  5. 小甲鱼c++源码_飞凌课堂丨OK1046A-C内存交互测试,小白也能看懂

    笔者最近需要进行OK1046A-C内存部分的测试,linux相关的资料和方法纷杂繁多,但如鼠饮河,自得其量,还是找了如下软件进行测试,也分享给大家. 01-工具简介 Bandwitdh工具简介 Ban ...

  6. 内存稳定性测试_内存条选择两条8G还是单条16G?通过对比浅谈该如何选择

    内存条作为电脑的核心部件之一,其性能对于整机的性能还是有一定影响.现在内存条主要分为马甲条和普条,马甲条简言之就是带有金属马甲的内存条,一般都会带有超频的功能.随着灯条的出现,也就是在马甲条上加装了R ...

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

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

  8. 内存兼容性测试软件,Ryzen内存测试:有BUG兼容性较差_DIY攒机选购指南-中关村在线...

    锐龙AMD Ryzen内存测试:有BUG兼容性较差 据悉Ryzen 7的一个"小Bug":当插满4条DDR4内存的时候,频率最高只能上到DDR4-2400,插2条的时候就能上到DD ...

  9. MLC——内存延迟及带宽测试工具

    why MLC 影响程序性能的两个重要因素: ①应用程序从处理器缓存和从内存子系统获取数据所消耗的时间,其中存在各种延迟: ②带宽b/w(bandwidth 非Bilibili World) mlc正 ...

最新文章

  1. 微信小程序开发第三弹
  2. 如何用python创建一个下载网站-用Python下载一个网页保存为本地的HTML文件实例...
  3. js简单的下拉选中效果
  4. 进程间通信(python)
  5. nginx 过滤post报文 防火墙_十八般武艺之Nginx踩坑总结
  6. 阿里云轻量应用服务器解读,为中小企业提供数字化的解决之道
  7. DeepFashion服装数据集
  8. 华为机试题2[编程题] 汽水瓶
  9. 一文弄懂LogSumExp技巧
  10. 凤凰项目:一个IT运维的传奇故事
  11. php获取当前网址附带(http://或者https//)
  12. 计算机桌面来回闪烁,Windows10系统电脑屏幕一直闪烁的解决方案
  13. redis主从完整配置说明
  14. 搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程
  15. ArcGIS:如何进行栅格数据的拼接和裁剪、坡度坡向的提取、地形透视图的建立、等高线的提取、剖面图的创建?
  16. 心肝火旺是夏季宝宝晚上睡不踏实的主要原因
  17. 对话三星张代君:Bixby到底与Siri有什么不同? | AI英雄
  18. 关于机器学习的面试题,你又了解多少呢?
  19. 安装vs2005 sp1 出现错误 1718
  20. 阿呆穿越当程序员之设计模式系列-总纲

热门文章

  1. 高中生黑了学校所有的电子屏,结果老师转发点赞,当地政府还上门求合作
  2. 分区软件:如何迁移操作系统到别的盘?
  3. java 字符串是类名.class 如何实例化_根据类名字符串实例化类,并调用类的方法或函数 转...
  4. (11)香橙派+apache2与php+天猫精灵=自建平台语音支持--天猫精灵对接6
  5. Java黄金矿工小游戏,适合新手入门练手项目
  6. 科目三考试报告台词:
  7. github日常指令备忘录
  8. 手机QQ怎么批量添加通讯录好友[实现全自动化操作]
  9. 关于位图数据和标记位-P3
  10. 西安服务器虚拟化,西安电子科技大学数据中心服务器虚拟化建设实践