一种linux系统下自动计算CPU浮点运算理论值的方法

文档序号:9826178阅读:1534来源:国知局
一种linux系统下自动计算CPU浮点运算理论值的方法
【技术领域】
[0001]本发明涉及服务器系统测试技术,尤其涉及一种Iinux系统下自动计算CPU浮点运算理论值的方法。
【背景技术】
[0002]服务器系统测试中一个重要的测试就是CPU的性能(也就是cpu的双精度浮点运算性能,下面简称cpu浮点运算性能)测试,测试中需要不断调优来使cpu的浮点运算性能最大化,然后和cpu的浮点运计算理论值相比较,来确定该服务器的cpu浮点运算性能是否满足要求,同时在进行cpu的压力测试时也要保证cpu长时间运行在最大处理性能的状态,所以知道cpu的浮点运算性能的理论值很重要。但是cpu浮点运算的理论值对于没有相关经验的人员计算起来比较复杂,尤其是Haswell cpu出现之后cpu的指令集升级到了avx2,每个时钟周期的浮点运算次数与之前不同,导致不同平台的cpu计算方法不同,这就更增加了计算cpu浮点运算理论值的难度。

【发明内容】

[0003]为了解决该问题,本文提出了一种Iinux系统下自动计算CPU浮点运算理论值的方法,在Linux系统下基于shell脚本实现自动计算cpu浮点运算理论值的方法,减少了查看机器配置、cpu型号与当前频率和进行手动计算的时间,该脚本使用方便,操作简单。可以提高测试的准确性。
[0004]本发明的技术方案是:
一种Iinux系统下自动计算CPU浮点运算理论值的方法,
利用shell脚本自动查看相关参数然后进行cpu浮点运算的计算,在运行cpu性能测试的同时执行脚本,之后的计算过程完全自动完成,便可得到该cpu的浮点运算理论值
脚本自动获取当前的cpu频率、cpu每周期浮点运算次数和当前的cpu核心数,然后计算出cpu的浮点计算理论值。
[0005]该脚本主要完成如下功能:
(1)获取cpu当前的实时频率
在系统进行cpu性能测试主要是Iinpack测试的过程中执行该脚本,该脚本会自动获取当前的cpu频率;
F= cat /proc/cpuinfo |grep _i MHz|awk '{print $4},|head _n I'
(2)脚本自动获取系统下cpu的总核心数
N= cat /proc/cpuinfo grep _i processor wc -1
(3)获取当前cpu每周期的浮点运算次数并计算理论值 cat /proc/cpuinfoIgrep _i avx2
if [ $? -eq 0 ];thenFlops='echo “$F*$N*16” bc'else
Flops='echo “$F*$N*8” |bc'fi
(4)显示CPU型号,系统下的核心数,当前频率和浮点运算理论值
cat /proc/cpuinfo | grep “model name,,|head -n I
echo “CPU Freq is
echo uCPU Cores are $N^
echo “Flops is $Flops MFlops'
[0006]本发明的有益效果是
基于shell脚本的自动计算cpu浮点运算理论值的实现方法,通过shell脚本实现cpu浮点运算理论值的计算,在运行cpu性能测试的同时执行脚本之后无需手动输入任何其他的系统命令和进行其他操作便可得到该cpu的浮点运算理论值。该脚本使用方便,操作简单,无需掌握专业知识也可完成操作。该方法应用在服务器系统测试阶段的cpu测试中,可以节省人力和时间,提高工作效率和测试准确性。
【附图说明】
[0007]图1是本发明的脚本流程图。
【具体实施方式】
[0008]下面对本发明的内容进行更加详细的阐述: shell脚本脚本主要完成如下功能:
(1)获取cpu当前的实时频率
在系统进行cpu性能测试主要是Iinpack测试的过程中执行该脚本,该脚本会自动获取当前的cpu频率
F='cat /proc/cpuinfo |grep _i MHz|awk ,{print $4}J|head _n I'
(2)脚本自动获取系统下cpu的总核心数
N= cat /proc/cpuinfo |grep _i processor |wc -1
(3)获取当前cpu每周期的浮点运算次数并计算理论值 cat /proc/cpuinfoIgrep _i avx2
if [ $? -eq 0 ];thenFlops='echo “$F*$N*16” |bc'else
Flops='echo “$F*$N*8” |bc'fi
(4)显示CPU型号,系统下的核心数,当前频率和浮点运算理论值 cat /proc/cpuinfo | grep “model name,,|head -n I
echo “CPU Freq is
echo uCPU Cores are $N^
echo “Flops is $Flops MFlops” 整个过程主要是利用shell脚本来实现cpu浮点运算理论值的计算,脚本自动获取当前的cpu频率、cpu每周期浮点运算次数和当前的cpu核心数。然后计算出cpu的浮点计算理论值,免去人机交互过程。测试脚本的流程如图1所示。
[0009]本方法借用SHELL脚本实现CPU浮点运算理论值的计算,大大简化了操作流程,特别是对于没有相关经验的人员,使用该方法可以轻松获得CPU的浮点运算理论值。本方法在服务器进行CPU性能测试阶段,可以很方便的获取CPU的浮点运算理论值,方便进行CPU浮点运算性能比较,节省时间提高效率。
【主权项】
1.一种Iinux系统下自动计算CPU浮点运算理论值的方法,其特征在于, 利用shell脚本自动查看相关参数然后进行cpu浮点运算的计算,在运行cpu性能测试的同时执行脚本,之后的计算过程完全自动完成,便可得到该cpu的浮点运算理论值。2.根据权利要求1所述的方法,其特征在于,she11脚本自动获取当前的cpu频率、cpu每周期浮点运算次数和当前的cpu核心数,然后计算出cpu的浮点计算理论值。3.根据权利要求2所述的方法,其特征在于, 该脚本主要完成如下功能: (1)获取cpu当前的实时频率 在系统进行cpu性能测试主要是I inpack测试的过程中执行该脚本,该脚本会自动获取当前的cpu频率 F= cat /proc/cpuinfo grep _i MHz|awk ,{print $4}'|head -η I' (2)脚本自动获取系统下cpu的总核心数 N= cat /proc/cpuinfo grep _i processor wc -1 (3)获取当前cpu每周期的浮点运算次数并计算理论值 cat /proc/cpuinfoIgrep _i avx2 if [ $? -eq 0 ]; then Flops='echo “$F*$N*16” bc' else Flops='echo “$F*$N*8” bc' fi (4)显示CRJ型号,系统下的核心数,当前频率和浮点运算理论值 cat /proc/cpuinfo I grep “model name,,| head -η I echo “CPU Freq is $F” echo “CPU Cores are $N” echo “Flops is $Flops MFlops”。
【专利摘要】本发明提供一种linux系统下自动计算CPU浮点运算理论值的方法,涉及服务器系统测试技术,本发明利用shell脚本自动查看相关参数然后进行cpu浮点运算的计算,在运行cpu性能测试的同时执行脚本,之后的计算过程完全自动完成,便可得到该cpu的浮点运算理论值。该方法应用在服务器系统测试阶段的cpu测试中,可以节省人力和时间,提高工作效率和测试准确性。
【IPC分类】G06F11/22, G06F7/57
【公开号】CN105589778
【申请号】CN201610018096
【发明人】王野
【申请人】浪潮电子信息产业股份有限公司
【公开日】2016年5月18日
【申请日】2016年1月12日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1