[发明专利]一种简便的测试内存带宽的方法在审
申请号: | 201410552569.9 | 申请日: | 2014-10-17 |
公开(公告)号: | CN104268050A | 公开(公告)日: | 2015-01-07 |
发明(设计)人: | 唐湘华 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F11/26 | 分类号: | G06F11/26 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种简便的测试内存带宽的方法,整个测试程序分为预定义及系统参数获取、参数修改、信息输出、开始运行、参数选择、结果处理、环境清理7个部分组成;本发明的一种简便的测试内存带宽的方法和现有技术相比,该程序操作简便,具有较好的易用性;附带的nodeid与coreidmap关系的输出,为问题的debug提供了直观的参考依据;程序中各模块之间结构清晰,便于维护;无需冗杂的结果处理,大大节省了测试时间,提高了测试效率。 | ||
搜索关键词: | 一种 简便 测试 内存 带宽 方法 | ||
【主权项】:
一种简便的测试内存带宽的方法,其特征在于操作如下:(1)系统参数获取:获取系统的cpu信息——包括物理cpu数量及总线程数量;获取线程编号与物理cpu编号的对应关系,方便后续的debug;获取内存的总大小,以及LLC(三级缓存)的总大小;通过awk命令及grep命令抓取/proc/cpuinfo 及/proc/meminfo中的关键字的方法,来获取想要的信息; (2)参数修改:修改stream程序中的N值的大小,通过awk语言中的NR参数,定位到需要修改的N值所在的具体的行,然后,将设定的值赋给N值; (3)信息输出:Output函数实现,打印出当前的系统信息,包括物理cpu的个数、一个物理cpu的物理core个数,逻辑core个数,HT 是否打开,cpu node与core ID的map关系,LLC大小、总内存大小、N值大小,N值与LLC的倍数关系;使用awk语言获取想要的系统信息——已经在预定义模块获取;cpu信息输出只需要要使用命令echo就行,map 对应关系获取使用了一个简单的算法实现;(4)开始:start()函数,开始对stream.c代码进行并行化编译,并开始一个循环,按照参数设定的粒度大小逐次增加线程运行编译好的stream程序,并将结果输出到result‑$i中;之后会对结果进行初步处理,将Triald与Copy值取出存入Triald‑$Threads中; (5)参数选择:这一部分通过一个case循环来获取命令行中的参数,并将参数运用到各函数中去,实现通过参数来控制程序运行的方法;可使用的参数有:‑N xxx需要设置的N值大小;‑m 选择是否输出node id与core id的对应关系;‑i xxx设置线程的粒度大小;(6)结果处理:对start中得出的结果进行进一步归纳处理: (7)环境清理:清除程序运行过程中的临时文件,如stream_omp、stream_omp.c、result‑*等文件。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410552569.9/,转载请声明来源钻瓜专利网。