CN105589778A - 一种linux系统下自动计算CPU浮点运算理论值的方法 - Google Patents
一种linux系统下自动计算CPU浮点运算理论值的方法 Download PDFInfo
- Publication number
- CN105589778A CN105589778A CN201610018096.3A CN201610018096A CN105589778A CN 105589778 A CN105589778 A CN 105589778A CN 201610018096 A CN201610018096 A CN 201610018096A CN 105589778 A CN105589778 A CN 105589778A
- Authority
- CN
- China
- Prior art keywords
- cpu
- floating
- script
- theoretical value
- echo
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
Abstract
本发明提供一种linux系统下自动计算CPU浮点运算理论值的方法,涉及服务器系统测试技术,本发明利用shell脚本自动查看相关参数然后进行cpu浮点运算的计算,在运行cpu性能测试的同时执行脚本,之后的计算过程完全自动完成,便可得到该cpu的浮点运算理论值。该方法应用在服务器系统测试阶段的cpu测试中,可以节省人力和时间,提高工作效率和测试准确性。
Description
技术领域
本发明涉及服务器系统测试技术,尤其涉及一种linux系统下自动计算CPU浮点运算理论值的方法。
背景技术
服务器系统测试中一个重要的测试就是CPU的性能(也就是cpu的双精度浮点运算性能,下面简称cpu浮点运算性能)测试,测试中需要不断调优来使cpu的浮点运算性能最大化,然后和cpu的浮点运计算理论值相比较,来确定该服务器的cpu浮点运算性能是否满足要求,同时在进行cpu的压力测试时也要保证cpu长时间运行在最大处理性能的状态,所以知道cpu的浮点运算性能的理论值很重要。但是cpu浮点运算的理论值对于没有相关经验的人员计算起来比较复杂,尤其是Haswellcpu出现之后cpu的指令集升级到了avx2,每个时钟周期的浮点运算次数与之前不同,导致不同平台的cpu计算方法不同,这就更增加了计算cpu浮点运算理论值的难度。
发明内容
为了解决该问题,本文提出了一种linux系统下自动计算CPU浮点运算理论值的方法,在Linux系统下基于shell脚本实现自动计算cpu浮点运算理论值的方法,减少了查看机器配置、cpu型号与当前频率和进行手动计算的时间,该脚本使用方便,操作简单。可以提高测试的准确性。
本发明的技术方案是:
一种linux系统下自动计算CPU浮点运算理论值的方法,
利用shell脚本自动查看相关参数然后进行cpu浮点运算的计算,在运行cpu性能测试的同时执行脚本,之后的计算过程完全自动完成,便可得到该cpu的浮点运算理论值
脚本自动获取当前的cpu频率、cpu每周期浮点运算次数和当前的cpu核心数,然后计算出cpu的浮点计算理论值。
该脚本主要完成如下功能:
(1)获取cpu当前的实时频率
在系统进行cpu性能测试主要是linpack测试的过程中执行该脚本,该脚本会自动获取当前的cpu频率;
F=`cat/proc/cpuinfo|grep-iMHz|awk'{print$4}'|head-n1`
(2)脚本自动获取系统下cpu的总核心数
N=`cat/proc/cpuinfo|grep-iprocessor|wc–l`
(3)获取当前cpu每周期的浮点运算次数并计算理论值
cat/proc/cpuinfo|grep-iavx2
if[$?-eq0];then
Flops=`echo“$F*$N*16”|bc`
else
Flops=`echo“$F*$N*8”|bc`
fi
(4)显示CPU型号,系统下的核心数,当前频率和浮点运算理论值
cat/proc/cpuinfo|grep“modelname”|head–n1
echo“CPUFreqis$F”
echo“CPUCoresare$N”
echo“Flopsis$FlopsMFlops”。
本发明的有益效果是
基于shell脚本的自动计算cpu浮点运算理论值的实现方法,通过shell脚本实现cpu浮点运算理论值的计算,在运行cpu性能测试的同时执行脚本之后无需手动输入任何其他的系统命令和进行其他操作便可得到该cpu的浮点运算理论值。该脚本使用方便,操作简单,无需掌握专业知识也可完成操作。该方法应用在服务器系统测试阶段的cpu测试中,可以节省人力和时间,提高工作效率和测试准确性。
附图说明
图1是本发明的脚本流程图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
shell脚本脚本主要完成如下功能:
(1)获取cpu当前的实时频率
在系统进行cpu性能测试主要是linpack测试的过程中执行该脚本,该脚本会自动获取当前的cpu频率
F=`cat/proc/cpuinfo|grep-iMHz|awk'{print$4}'|head-n1`
(2)脚本自动获取系统下cpu的总核心数
N=`cat/proc/cpuinfo|grep-iprocessor|wc–l`
(3)获取当前cpu每周期的浮点运算次数并计算理论值
cat/proc/cpuinfo|grep-iavx2
if[$?-eq0];then
Flops=`echo“$F*$N*16”|bc`
else
Flops=`echo“$F*$N*8”|bc`
fi
(4)显示CPU型号,系统下的核心数,当前频率和浮点运算理论值
cat/proc/cpuinfo|grep“modelname”|head–n1
echo“CPUFreqis$F”
echo“CPUCoresare$N”
echo“Flopsis$FlopsMFlops”
整个过程主要是利用shell脚本来实现cpu浮点运算理论值的计算,脚本自动获取当前的cpu频率、cpu每周期浮点运算次数和当前的cpu核心数。然后计算出cpu的浮点计算理论值,免去人机交互过程。测试脚本的流程如图1所示。
本方法借用SHELL脚本实现CPU浮点运算理论值的计算,大大简化了操作流程,特别是对于没有相关经验的人员,使用该方法可以轻松获得CPU的浮点运算理论值。本方法在服务器进行CPU性能测试阶段,可以很方便的获取CPU的浮点运算理论值,方便进行CPU浮点运算性能比较,节省时间提高效率。
Claims (3)
1.一种linux系统下自动计算CPU浮点运算理论值的方法,其特征在于,
利用shell脚本自动查看相关参数然后进行cpu浮点运算的计算,在运行cpu性能测试的同时执行脚本,之后的计算过程完全自动完成,便可得到该cpu的浮点运算理论值。
2.根据权利要求1所述的方法,其特征在于,shell脚本自动获取当前的cpu频率、cpu每周期浮点运算次数和当前的cpu核心数,然后计算出cpu的浮点计算理论值。
3.根据权利要求2所述的方法,其特征在于,
该脚本主要完成如下功能:
(1)获取cpu当前的实时频率
在系统进行cpu性能测试主要是linpack测试的过程中执行该脚本,该脚本会自动获取当前的cpu频率
F=`cat/proc/cpuinfo|grep-iMHz|awk'{print$4}'|head-n1`
(2)脚本自动获取系统下cpu的总核心数
N=`cat/proc/cpuinfo|grep-iprocessor|wc–l`
(3)获取当前cpu每周期的浮点运算次数并计算理论值
cat/proc/cpuinfo|grep-iavx2
if[$?-eq0];then
Flops=`echo“$F*$N*16”|bc`
else
Flops=`echo“$F*$N*8”|bc`
fi
(4)显示CPU型号,系统下的核心数,当前频率和浮点运算理论值
cat/proc/cpuinfo|grep“modelname”|head–n1
echo“CPUFreqis$F”
echo“CPUCoresare$N”
echo“Flopsis$FlopsMFlops”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610018096.3A CN105589778A (zh) | 2016-01-12 | 2016-01-12 | 一种linux系统下自动计算CPU浮点运算理论值的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610018096.3A CN105589778A (zh) | 2016-01-12 | 2016-01-12 | 一种linux系统下自动计算CPU浮点运算理论值的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105589778A true CN105589778A (zh) | 2016-05-18 |
Family
ID=55929377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610018096.3A Pending CN105589778A (zh) | 2016-01-12 | 2016-01-12 | 一种linux系统下自动计算CPU浮点运算理论值的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105589778A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155866A (zh) * | 2016-08-01 | 2016-11-23 | 浪潮电子信息产业股份有限公司 | 一种监控cpu核心频率的方法及装置 |
CN107451022A (zh) * | 2017-08-11 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种自动调节linpack性能测试的方法及系统 |
CN108958999A (zh) * | 2018-06-13 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种测试gpu浮点运算性能的方法和系统 |
CN109976708A (zh) * | 2019-03-28 | 2019-07-05 | 苏州中晟宏芯信息科技有限公司 | 一种适用于cpu浮点运算理论值提取的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080065709A1 (en) * | 2006-08-18 | 2008-03-13 | Michel Henri Theodore Hack | Fast correctly-rounding floating-point conversion |
CN101706741A (zh) * | 2009-12-11 | 2010-05-12 | 中国人民解放军国防科学技术大学 | 一种基于负载平衡的cpu和gpu两级动态任务划分方法 |
CN102541994A (zh) * | 2011-11-18 | 2012-07-04 | 浪潮电子信息产业股份有限公司 | 一种自动化快速部署nfs共享的方法 |
CN105068904A (zh) * | 2015-08-17 | 2015-11-18 | 浪潮电子信息产业股份有限公司 | 一种linux系统下自动计算内存理论带宽的方法 |
-
2016
- 2016-01-12 CN CN201610018096.3A patent/CN105589778A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080065709A1 (en) * | 2006-08-18 | 2008-03-13 | Michel Henri Theodore Hack | Fast correctly-rounding floating-point conversion |
CN101706741A (zh) * | 2009-12-11 | 2010-05-12 | 中国人民解放军国防科学技术大学 | 一种基于负载平衡的cpu和gpu两级动态任务划分方法 |
CN102541994A (zh) * | 2011-11-18 | 2012-07-04 | 浪潮电子信息产业股份有限公司 | 一种自动化快速部署nfs共享的方法 |
CN105068904A (zh) * | 2015-08-17 | 2015-11-18 | 浪潮电子信息产业股份有限公司 | 一种linux系统下自动计算内存理论带宽的方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155866A (zh) * | 2016-08-01 | 2016-11-23 | 浪潮电子信息产业股份有限公司 | 一种监控cpu核心频率的方法及装置 |
CN107451022A (zh) * | 2017-08-11 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种自动调节linpack性能测试的方法及系统 |
CN107451022B (zh) * | 2017-08-11 | 2019-07-30 | 郑州云海信息技术有限公司 | 一种自动调节linpack性能测试的方法及系统 |
CN108958999A (zh) * | 2018-06-13 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种测试gpu浮点运算性能的方法和系统 |
CN109976708A (zh) * | 2019-03-28 | 2019-07-05 | 苏州中晟宏芯信息科技有限公司 | 一种适用于cpu浮点运算理论值提取的方法及装置 |
CN109976708B (zh) * | 2019-03-28 | 2023-07-11 | 北京市合芯数字科技有限公司 | 一种适用于cpu浮点运算理论值提取的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105589778A (zh) | 一种linux系统下自动计算CPU浮点运算理论值的方法 | |
CN104657219B (zh) | 一种用于异构众核系统下的应用程序线程数动态调整方法 | |
CN107817502A (zh) | 激光点云数据处理方法和装置 | |
WO2009106901A8 (en) | Improvements relating to handling and processing of massive numbers of processing instructions in real time | |
CN101930494B (zh) | 基于模态分割和遗传算法的飞行器不定阶次参数模型辨识方法 | |
WO2018010381A1 (zh) | 多目标电梯群控系统及方法 | |
JP5683000B2 (ja) | Pid制御器の構成方法、プログラム及びシステム | |
CN104461679A (zh) | 一种将网卡绑定到cpu的自动化实现方法 | |
CN116126346B (zh) | Ai模型的代码编译方法、装置、计算机设备及存储介质 | |
CN113780536A (zh) | 一种云端深度学习模型转换方法、系统、设备及介质 | |
CN106933572B (zh) | 一种基于llvm中间表示程序切片的度量模型 | |
CN108363660B (zh) | 一种测试程序生成方法和装置 | |
CN103309676B (zh) | 用于海洋数值模拟ROMS的Web服务封装方法以及系统 | |
CN102375904A (zh) | 一种起重机通用型主梁参数化计算机建模方法 | |
CN106156534B (zh) | 一种特种集装箱基于Creo的钣金批量排样方法 | |
CN109684723A (zh) | 一种二维结构内部声学性能分析方法 | |
CN116362428A (zh) | 基于vmd-pcf-arima的短期负荷预测方法 | |
CN103310002B (zh) | 用于气象预报计算系统MM5的Web服务封装方法以及系统 | |
CN105045698A (zh) | 使用python的matplotlib分析芯片验证进度的方法 | |
CN106933535A (zh) | 一种在单片机系统中实现高精度延时的方法 | |
WO2019126797A3 (en) | System and method for executing instructions | |
CN103309675B (zh) | 用于气象预报计算系统WRF的Web服务封装方法以及系统 | |
CN104572228B (zh) | 一种节点更新方法及装置 | |
CN107908697A (zh) | 主机批处理作业结果的自动采集方法及装置 | |
CN104850756A (zh) | 一种结合多代路径通量分析与敏感性分析的机理简化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160518 |
|
RJ01 | Rejection of invention patent application after publication |