stream.c 内存带宽测试
内存带宽测试工具:stream
- 介绍
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 内存带宽测试相关推荐
- 【开发工具】【stream】内存带宽测试工具(Stream)的使用
获取更多相关的嵌入式开发工具,可收藏系列博文,持续更新中: [开发工具]嵌入式常用开发工具汇总帖 Stream简介 STREAM是一套综合性能测试程序集,通过fortran和C两种高级且高效的语言编写 ...
- bandwidth 0.32k 发布,内存带宽测试工具
bandwidth 0.32k 修复了一些小的 AVX 问题. Bandwidth 是一个内存带宽测试的基准工具,但它也可以测量网络带宽.它可以测量每个内存系统的最大内存带宽,包括主内存,L1和L2缓 ...
- Linux下stream内存带宽测试参数和示例详解附源码(总结)
目录 一.简介 二.使用简介 2.1 测试内容简介 2.2 编译参数简介 2.3 具体参数示例 三.源码下载及使用 四.其他相关知识链接 FIO测试硬盘性能参数和实例总结 一.简介 本文通过实例详细讲 ...
- K1 Power Linux上Stream测试内存带宽
K1 Power Linux上Stream测试内存带宽 本篇文章介绍在K1 Power Linux上理论内存带宽结算,实测内存带宽方法,衡量服务器的内存带宽水平.需要说明的是,对于Scale UP的P ...
- 小甲鱼c++源码_飞凌课堂丨OK1046A-C内存交互测试,小白也能看懂
笔者最近需要进行OK1046A-C内存部分的测试,linux相关的资料和方法纷杂繁多,但如鼠饮河,自得其量,还是找了如下软件进行测试,也分享给大家. 01-工具简介 Bandwitdh工具简介 Ban ...
- 内存稳定性测试_内存条选择两条8G还是单条16G?通过对比浅谈该如何选择
内存条作为电脑的核心部件之一,其性能对于整机的性能还是有一定影响.现在内存条主要分为马甲条和普条,马甲条简言之就是带有金属马甲的内存条,一般都会带有超频的功能.随着灯条的出现,也就是在马甲条上加装了R ...
- 服务器内存延迟,内存带宽、延迟性能测试
内存带宽.延迟性能测试 华为FusionServer 2488H V5服务器主板集成了48个内存插槽,但送测机器配备有限.由于送测机型整合了四通道内存控制器,这样使得平台的内存带宽得到了明显的提升. ...
- 内存兼容性测试软件,Ryzen内存测试:有BUG兼容性较差_DIY攒机选购指南-中关村在线...
锐龙AMD Ryzen内存测试:有BUG兼容性较差 据悉Ryzen 7的一个"小Bug":当插满4条DDR4内存的时候,频率最高只能上到DDR4-2400,插2条的时候就能上到DD ...
- MLC——内存延迟及带宽测试工具
why MLC 影响程序性能的两个重要因素: ①应用程序从处理器缓存和从内存子系统获取数据所消耗的时间,其中存在各种延迟: ②带宽b/w(bandwidth 非Bilibili World) mlc正 ...
最新文章
- 微信小程序开发第三弹
- 如何用python创建一个下载网站-用Python下载一个网页保存为本地的HTML文件实例...
- js简单的下拉选中效果
- 进程间通信(python)
- nginx 过滤post报文 防火墙_十八般武艺之Nginx踩坑总结
- 阿里云轻量应用服务器解读,为中小企业提供数字化的解决之道
- DeepFashion服装数据集
- 华为机试题2[编程题] 汽水瓶
- 一文弄懂LogSumExp技巧
- 凤凰项目:一个IT运维的传奇故事
- php获取当前网址附带(http://或者https//)
- 计算机桌面来回闪烁,Windows10系统电脑屏幕一直闪烁的解决方案
- redis主从完整配置说明
- 搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程
- ArcGIS:如何进行栅格数据的拼接和裁剪、坡度坡向的提取、地形透视图的建立、等高线的提取、剖面图的创建?
- 心肝火旺是夏季宝宝晚上睡不踏实的主要原因
- 对话三星张代君:Bixby到底与Siri有什么不同? | AI英雄
- 关于机器学习的面试题,你又了解多少呢?
- 安装vs2005 sp1 出现错误 1718
- 阿呆穿越当程序员之设计模式系列-总纲
热门文章
- 高中生黑了学校所有的电子屏,结果老师转发点赞,当地政府还上门求合作
- 分区软件:如何迁移操作系统到别的盘?
- java 字符串是类名.class 如何实例化_根据类名字符串实例化类,并调用类的方法或函数 转...
- (11)香橙派+apache2与php+天猫精灵=自建平台语音支持--天猫精灵对接6
- Java黄金矿工小游戏,适合新手入门练手项目
- 科目三考试报告台词:
- github日常指令备忘录
- 手机QQ怎么批量添加通讯录好友[实现全自动化操作]
- 关于位图数据和标记位-P3
- 西安服务器虚拟化,西安电子科技大学数据中心服务器虚拟化建设实践