CN110287085A - 浮点运算速度的检测方法、装置、设备及可读存储介质 - Google Patents
浮点运算速度的检测方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN110287085A CN110287085A CN201910578169.8A CN201910578169A CN110287085A CN 110287085 A CN110287085 A CN 110287085A CN 201910578169 A CN201910578169 A CN 201910578169A CN 110287085 A CN110287085 A CN 110287085A
- Authority
- CN
- China
- Prior art keywords
- floating
- point operation
- processing
- duration
- processing mode
- 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/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种浮点运算速度的检测方法、装置、设备及可读存储介质,该方法包括:按照第一处理方式对预置数据进行预设次数的浮点运算处理,并记录完成第一处理方式对应的浮点运算处理所需的第一时长;按照第二处理方式对预置数据进行预设次数的浮点运算处理,并记录完成第二处理方式对应的浮点运算处理所需的第二时长;根据预设次数、第一时长和第二时长,确定第二处理方式相对于第一处理方式进行浮点运算处理的速度提升量。本发明实施例通过记录第一处理方式对应的第一时长和第二处理方式对应的第二时长,再根据第一时长和第二时长计算速度提升量,通过速度提升量来表征浮点运算的速度提升程度,能够准确表征优化效果。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种浮点运算速度的检测方法、装置、设备及可读存储介质。
背景技术
目前处理器进行浮点运算过程复杂,需要对齐两个数值执行运算,舍入结果,对结果进行编码,因此浮点运算的处理速度较慢。浮点运算通常是通过程序调用c语言函数库实现,对于不同的程序处理方式,浮点运算的速度不同。
现有技术中,通过对浮点运算处理方式进行优化来提高浮点运算的速度。
然而现有技术中对浮点运算处理方式进行优化后,工作人员无法获知优化对浮点运算带来的速度提升程度,不能准确获知优化效果。
发明内容
本发明实施例提供一种浮点运算速度的检测方法、装置、设备及可读存储介质,以解决目前对浮点运算处理方式进行优化后,无法获知优化后浮点运算速度提升程度的问题。
第一方面,本发明实施例提供一种浮点运算速度的检测方法,包括:
按照第一处理方式对预置数据进行预设次数的浮点运算处理,并记录完成所述第一处理方式对应的浮点运算处理所需的第一时长;
按照第二处理方式对所述预置数据进行所述预设次数的浮点运算处理,并记录完成所述第二处理方式对应的浮点运算处理所需的第二时长;
根据所述预设次数、所述第一时长和所述第二时长,确定所述第二处理方式相对于所述第一处理方式进行浮点运算处理的速度提升量。
在一种可能的实施方式中,所述按照第一处理方式对预置数据进行预设次数的浮点运算处理,并记录完成所述第一处理方式对应的浮点运算处理所需的第一时长,包括:
获取定时器的起始数值;
按照第一处理方式对所述预置数据进行所述预设次数的浮点运算处理;
在所述第一处理方式对应的浮点运算处理结束时,获取所述定时器的结束数值;
根据所述起始数值和所述结束数值计算所述第一时长。
在一种可能的实施方式中,所述浮点运算处理为多种,每种浮点运算处理对应于一个权重值;每种浮点运算处理对应于一个所述第一时长和一个所述第二时长;
所述根据所述预设次数、所述第一时长和所述第二时长,确定所述第二处理方式相对于所述第一处理方式进行浮点运算处理的速度提升量,包括:
针对每种浮点运算处理,根据该浮点运算处理的第一时长和第二时长,以及所述预设次数计算所述第二处理方式相对于所述第一处理方式进行单次该浮点运算处理的单次时长差;
根据每种浮点运算处理对应的单次时长差和权重值计算所有浮点运算处理的加权平均值,将所述加权平均值作为所述速度提升量。
在一种可能的实施方式中,所述第一处理方式通过调用程序语言函数库进行浮点运算处理,所述第二处理方式通过浮点运算单元FPU进行浮点运算处理。
在一种可能的实施方式中,应用于终端设备,所述终端设备包括处理器,所述处理器为无内部互锁流水级的微处理器MIPS处理器,所述终端设备的操作系统为VxWorks操作系统,对所述预置数据的浮点运算处理包括对所述预置数据进行开平方处理。
第二方面,本发明实施例提供一种浮点运算速度的检测装置,包括:
第一记录模块,用于按照第一处理方式对预置数据进行预设次数的浮点运算处理,并记录完成所述第一处理方式对应的浮点运算处理所需的第一时长;
第二记录模块,用于按照第二处理方式对所述预置数据进行所述预设次数的浮点运算处理,并记录完成所述第二处理方式对应的浮点运算处理所需的第二时长;
处理模块,用于根据所述预设次数、所述第一时长和所述第二时长,确定所述第二处理方式相对于所述第一处理方式进行浮点运算处理的速度提升特征量。
在一种可能的实施方式中,所述第一记录模块用于:
获取定时器的起始数值;
按照第一处理方式对所述预置数据进行所述预设次数的浮点运算处理;
在所述第一程序指令对应的浮点运算处理结束时,获取所述定时器的结束数值;
根据所述起始数值和所述结束数值计算所述第一时长。
在一种可能的实施方式中,所述浮点运算处理为多种,每种浮点运算处理对应于一个权重值;每种浮点运算处理对应于一个所述第一时长和一个所述第二时长;
所述处理模块用于:
针对每种浮点运算处理,根据该浮点运算处理的第一时长和第二时长,以及所述预设次数计算所述第二处理方式相对于所述第一处理方式进行单次该浮点运算处理的单次时长差;
根据每种浮点运算处理对应的单次时长差和权重值计算所有浮点运算处理的加权平均值,将所述加权平均值作为速度提升量。
第三方面,本发明实施例提供一种浮点运算速度的检测设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的实施方式所述的浮点运算速度的检测方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的实施方式所述的浮点运算速度的检测方法。
本实施例提供的浮点运算速度的检测方法、装置、设备及可读存储介质,按照第一处理方式对预置数据进行预设次数的浮点运算处理,并记录完成第一处理方式对应的浮点运算处理所需的第一时长;按照第二处理方式对预置数据进行预设次数的浮点运算处理,并记录完成第二处理方式对应的浮点运算处理所需的第二时长;根据预设次数、第一时长和第二时长,确定第二处理方式相对于第一处理方式进行浮点运算处理的速度提升量,能够确定浮点运算处理优化的速度提升程度。本发明实施例通过记录第一处理方式对应的第一时长和第二处理方式对应的第二时长,再根据第一时长和第二时长计算速度提升量,通过速度提升量来表征浮点运算的速度提升程度,能够准确表征优化效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的浮点运算速度的检测方法的流程示意图;
图2为本发明又一实施例提供的浮点运算速度的检测方法中记录第一时长的流程示意图;
图3为本发明另一实施例提供的记录第一时长的程序流程图;
图4为本发明再一实施例提供的浮点运算速度的检测方法的流程示意图;
图5为本发明一实施例提供的浮点运算速度的检测装置的结构示意图;
图6为本发明一实施例提供的浮点运算速度的检测设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前通过对浮点运算处理方式进行优化来提高浮点运算的速度,但优化后工作人员无法获知优化对浮点运算带来的速度提升程度,不能准确获知优化效果。本发明实施例提供的浮点运算速度的检测方法,通过记录第一处理方式对应的第一时长和第二处理方式对应的第二时长,再根据第一时长和第二时长计算速度提升量,通过速度提升量来表征浮点运算的速度提升程度,能够准确表征优化效果,以便工作人员根据速度提升量来判断优化效果。
图1为本发明一实施例提供的浮点运算速度的检测方法的流程示意图。如图1所示,该方法包括:
S101、按照第一处理方式对预置数据进行预设次数的浮点运算处理,并记录完成所述第一处理方式对应的浮点运算处理所需的第一时长。
在本实施例中,第一处理方式可以为优化前浮点运算的处理方式。预置数据为预先设置的作为浮点速度检测中进行浮点运算的数据。预设次数可以根据实际情况进行设定,如预设次数可以为10000000次、5000000次等,在此不作限定。浮点运算处理可以为一种或多种,如开平方、乘方、乘法、除法处理等,在此不作限定。该检测方法中进行的浮点运算处理可以预先进行指定。例如,预先指定的浮点运算处理为开平方处理,则按照第一处理方式对预置数据进行预设次数的开平方处理。本实施例中按照第一处理方式对预置数据进行预设次数的浮点运算处理,记录按照第一处理方式进行预设次数的浮点运算处理所用的时间作为第一时长。
S102、按照第二处理方式对所述预置数据进行所述预设次数的浮点运算处理,并记录完成所述第二处理方式对应的浮点运算处理所需的第二时长。
在本实施例中,第二处理方式可以为优化后浮点运算的处理方式。按照第二处理方式对预置数据进行预设次数的浮点运算处理,记录按照第二处理方式进行预设次数的浮点运算处理所用的时间作为第二时长。在本实施例中S101中进行的浮点运算处理与S102中进行的浮点运算处理相同,例如,可以都对预置数据进行10000000次的开平方处理。
S103、根据所述预设次数、所述第一时长和所述第二时长,确定所述第二处理方式相对于所述第一处理方式进行浮点运算处理的速度提升量。
在本实施例中,速度提升量用于表征速度的提升程度。例如,速度提升量可以为二者处理速度之间的差值在第一处理方式处理速度中所占的比例等。可以根据预设次数、第一时长和第二时长,计算相对于第一处理方式的处理速度,通过第二处理方式进行浮点运算处理所能带来的速度的速度提升量,通过速度提升量来表征优化效果。
本发明实施例中,按照第一处理方式对预置数据进行预设次数的浮点运算处理,并记录完成第一处理方式对应的浮点运算处理所需的第一时长;按照第二处理方式对预置数据进行预设次数的浮点运算处理,并记录完成第二处理方式对应的浮点运算处理所需的第二时长;根据预设次数、第一时长和第二时长,确定第二处理方式相对于第一处理方式进行浮点运算处理的速度提升量,能够确定浮点运算处理优化的速度提升程度。本发明实施例通过记录第一处理方式对应的第一时长和第二处理方式对应的第二时长,再根据第一时长和第二时长计算速度提升量,通过速度提升量来表征浮点运算的速度提升程度,能够准确表征优化效果。
图2为本发明又一实施例提供的浮点运算速度的检测方法中记录第一时长的流程示意图。本实施例在图1实施例的基础上,对记录第一时长的实现过程进行了详细说明。如图2所示,该方法可以包括:
S201、获取定时器的起始数值。
S202、按照第一处理方式对所述预置数据进行所述预设次数的浮点运算处理。
S203、在所述第一处理方式对应的浮点运算处理结束时,获取所述定时器的结束数值。
S204、根据所述起始数值和所述结束数值计算所述第一时长。
在本实施例中,在按照第一处理方式进行浮点运算处理前,获取定时器的起始数值,该起始数据对应于浮点处理过程的起始时刻。然后按照第一处理方式对预置数据进行预设次数的浮点运算处理。在按照第一处理方式进行浮点运算处理结束时,获取定时器的结束数值,该结束数值对应于浮点处理过程的结束时刻。最后根据起始数值和结束数值可以计算出第一时长。
在记录第二处理方式对应的第二时间时,也可以按照上述方法进行记录,在此不再赘述。本实施例通过定时器的起始数据和结束数据计算第一处理方式对应的第一时间,以及第二处理方式对应的第二时间,能够保证第一时间和第二时间的精准度,进而确保浮点运算速度检测的准确度。
下面以基于MIPS(Microprocessor without interlocked piped stagesarchitecture,无内部互锁流水级的微处理器)平台VxWorks操作系统进行开平方处理为例进行说明,但并不作为限定。如图3所示为本发明另一实施例提供的记录第一时长的程序流程图。如图3所示,该程序流程包括:
S301、调用VxWorks操作系统的系统函数sysClkRateGet()将系统tick时间设置为1ms。
S302、调用tickSet()将tick值清0,准备使用tick计时。
S303、调用tickGet()获取tick值,保存到变量tick1。
S304、循环执行10000000次开平方处理。
S305、调用tickGet()获取tick值,保存到变量tick2。
S306、将两次tick值做减法操作,获取开平方处理的时间。
图4为本发明再一实施例提供的浮点运算速度的检测方法的流程示意图。在本实施例中,所述浮点运算处理为多种,每种浮点运算处理对应于一个权重值;每种浮点运算处理对应于一个所述第一时长和一个所述第二时长。如图4所示,所述方法可以包括:
S401、按照第一处理方式对预置数据进行预设次数的浮点运算处理,并记录完成所述第一处理方式对应的浮点运算处理所需的第一时长。
在本实施例中,一种浮点运算对应一个权重值。针对每种浮点运算处理,可以按照第一处理方式对预置数据进行预设次数的该浮点运算处理,记录该浮点运算处理对应的第一时长。例如,浮点运算处理可以为三种,开平方、乘方和除法,三者对应的权重值依次为0.5,0.4,0.1。可以分别执行S301,得到三者各自对应的第一时长。
S402、按照第二处理方式对所述预置数据进行所述预设次数的浮点运算处理,并记录完成所述第二处理方式对应的浮点运算处理所需的第二时长。
在本实施例中,针对每种浮点运算处理,可以按照第二处理方式对预置数据进行预设次数的该浮点运算处理,记录该浮点运算处理对应的第二时长。
S403、针对每种浮点运算处理,根据该浮点运算处理的第一时长和第二时长,以及所述预设次数计算所述第二处理方式相对于所述第一处理方式进行单次该浮点运算处理的单次时长差。
在本实施例中,针对每种浮点运算处理,可以将该浮点运算处理的第一时长减去第二时长得到差值,将该差值除以预设次数得到该浮点运算处理对应的单次时长差。例如,该浮点运算处理的第一时长为15000ms,第二时长为3000ms,预设次数为1000000次,则第一时长减去第二时长得到差值为15000ms-3000ms=12000ms,该差值除以预设次数后得到的单次时长差为12000ms/1000000=0.012ms。
S404、根据每种浮点运算处理对应的单次时长差和权重值计算所有浮点运算处理的加权平均值,将所述加权平均值作为所述速度提升量。
在本实施例中,可以根据每种浮点运算处理对应的单次时长差和权重值计算所有浮点运算处理的加权平均值,将加权平均值作为速度提升量,对优化效果进行评价。例如,共有三种浮点运算处理:开平方、乘方和除法,三者对应的权重值依次为0.5,0.4,0.1,对应的单次时间差依次为0.0012ms,0.0010ms,0.0008ms,则加权平均值为(0.5*0.0012ms+0.4*0.0010ms+0.1*0.0008ms)/3=0.00036ms。将该加权平均值作为速度提升量,可以表征和评价对浮点运算处理的优化效果。
本实施例为每种浮点运算处理设置对应的权重值,对多种浮点运算处理的时间计算加权平均值,通过结合多种浮点运算处理的时间来对优化效果进行评价,使得表征的优化效果更全面。
可选地,所述第一处理方式通过调用程序语言函数库进行浮点运算处理,所述第二处理方式通过浮点运算单元FPU进行浮点运算处理。
在本实施例中,优化前的第一处理方式为通过调用程序语言函数库进行浮点运算处理。例如,程序语言函数库可以为c语言函数库。优化后的第二处理方式为通过FPU((Float Point Unit,浮点运算单元)进行浮点运算处理。
浮点运算能力是操作系统浮点性能的重要指标,浮点运算能力低会导致使用浮点运算的应用程序运行卡顿。以MIPS平台VxWorks操作系统为例,现有的浮点运算处理是通过c语言函数库进行实现。本实施例提出了一种基于MIPS平台VxWorks操作系统的浮点运算处理方式,通过FPU来实现浮点运算,能够极大提高浮点运算的速度。通过本实施例提供的浮点运算速度检测方法来检测在MIPS平台VxWorks操作系统中采用FPU的优化效果,得到的结论为,通过FPU来实现浮点运算的速度比通过c语言函数库实现浮点运算的速度提升53.14倍,表明本实施例提出的在MIPS平台VxWorks操作系统中采用FPU进行浮点运算的优化效果好。
可选地,本发明实施例提供的上述方法应用于终端设备,所述终端设备包括处理器,所述处理器为无内部互锁流水级的微处理器MIPS处理器,所述终端设备的操作系统为VxWorks操作系统,对所述预置数据的浮点运算处理包括对所述预置数据进行开平方处理。
在本实施例中,上述浮点运算速度的检测方法可以应用于MIPS平台VxWorks操作系统的终端设备中,该检测方法中的浮点运算处理可以为开平方处理。优化后的第二处理方式为通过FPU((Float Point Unit,浮点运算单元)进行浮点运算处理。
作为本发明的一个实施示例,在MIPS平台VxWorks操作系统中,可以通过汇编语言实现调用FPU进行开平方处理,具体汇编程序示例如下:
上述汇编程序的解释如下:
(1)声明sqrt为全局函数。
(2)设置Sqrt为函数起点。
(3)f0=sqrt(f12);浮点运算结果保存到在寄存器$f0中。$f12为传入参数寄存器。此语句对传入参数进行开平方,结果保存在$f0寄存器中。
(4)返回到函数调用处。
本发明实施例中,按照第一处理方式对预置数据进行预设次数的浮点运算处理,并记录完成第一处理方式对应的浮点运算处理所需的第一时长;按照第二处理方式对预置数据进行预设次数的浮点运算处理,并记录完成第二处理方式对应的浮点运算处理所需的第二时长;根据预设次数、第一时长和第二时长,确定第二处理方式相对于第一处理方式进行浮点运算处理的速度提升量,能够确定浮点运算处理优化的速度提升程度。本发明实施例通过记录第一处理方式对应的第一时长和第二处理方式对应的第二时长,再根据第一时长和第二时长计算速度提升量,通过速度提升量来表征浮点运算的速度提升程度,能够准确表征优化效果。
图5为本发明一实施例提供的浮点运算速度的检测装置的结构示意图。如图5所示,该浮点运算速度的检测装置50包括:第一记录模块501、第二记录模块502及处理模块503。
第一记录模块501,用于按照第一处理方式对预置数据进行预设次数的浮点运算处理,并记录完成所述第一处理方式对应的浮点运算处理所需的第一时长。
第二记录模块502,用于按照第二处理方式对所述预置数据进行所述预设次数的浮点运算处理,并记录完成所述第二处理方式对应的浮点运算处理所需的第二时长。
处理模块503,用于根据所述预设次数、所述第一时长和所述第二时长,确定所述第二处理方式相对于所述第一处理方式进行浮点运算处理的速度提升特征量。
本发明实施例中,按照第一处理方式对预置数据进行预设次数的浮点运算处理,并记录完成第一处理方式对应的浮点运算处理所需的第一时长;按照第二处理方式对预置数据进行预设次数的浮点运算处理,并记录完成第二处理方式对应的浮点运算处理所需的第二时长;根据预设次数、第一时长和第二时长,确定第二处理方式相对于第一处理方式进行浮点运算处理的速度提升量,能够确定浮点运算处理优化的速度提升程度。本发明实施例通过记录第一处理方式对应的第一时长和第二处理方式对应的第二时长,再根据第一时长和第二时长计算速度提升量,通过速度提升量来表征浮点运算的速度提升程度,能够准确表征优化效果。
可选地,所述第一记录模块501用于:
获取定时器的起始数值;
按照第一处理方式对所述预置数据进行所述预设次数的浮点运算处理;
在所述第一程序指令对应的浮点运算处理结束时,获取所述定时器的结束数值;
根据所述起始数值和所述结束数值计算所述第一时长。
可选地,所述浮点运算处理为多种,每种浮点运算处理对应于一个权重值;每种浮点运算处理对应于一个所述第一时长和一个所述第二时长;
所述处理模块503用于:
针对每种浮点运算处理,根据该浮点运算处理的第一时长和第二时长,以及所述预设次数计算所述第二处理方式相对于所述第一处理方式进行单次该浮点运算处理的单次时长差;
根据每种浮点运算处理对应的单次时长差和权重值计算所有浮点运算处理的加权平均值,将所述加权平均值作为速度提升量。
可选地,所述第一处理方式通过调用程序语言函数库进行浮点运算处理,所述第二处理方式通过浮点运算单元FPU进行浮点运算处理。
可选地,应用于终端设备,所述终端设备包括处理器,所述处理器为无内部互锁流水级的微处理器MIPS处理器,所述终端设备的操作系统为VxWorks操作系统,对所述预置数据的浮点运算处理包括对所述预置数据进行开平方处理。
本发明实施例提供的浮点运算速度的检测装置,可用于执行上述的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
图6为本发明一实施例提供的浮点运算速度的检测设备的硬件结构示意图。如图6所示,本实施例提供的浮点运算速度的检测设备60包括:至少一个处理器601和存储器602。该浮点运算速度的检测设备60还包括通信部件603。其中,处理器601、存储器602以及通信部件603通过总线604连接。
在具体实现过程中,至少一个处理器601执行所述存储器602存储的计算机执行指令,使得至少一个处理器601执行如上的浮点运算速度的检测方法。
处理器601的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图6所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上的浮点运算速度的检测方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种浮点运算速度的检测方法,其特征在于,包括:
按照第一处理方式对预置数据进行预设次数的浮点运算处理,并记录完成所述第一处理方式对应的浮点运算处理所需的第一时长;
按照第二处理方式对所述预置数据进行所述预设次数的浮点运算处理,并记录完成所述第二处理方式对应的浮点运算处理所需的第二时长;
根据所述预设次数、所述第一时长和所述第二时长,确定所述第二处理方式相对于所述第一处理方式进行浮点运算处理的速度提升量。
2.根据权利要求1所述的方法,其特征在于,所述按照第一处理方式对预置数据进行预设次数的浮点运算处理,并记录完成所述第一处理方式对应的浮点运算处理所需的第一时长,包括:
获取定时器的起始数值;
按照第一处理方式对所述预置数据进行所述预设次数的浮点运算处理;
在所述第一处理方式对应的浮点运算处理结束时,获取所述定时器的结束数值;
根据所述起始数值和所述结束数值计算所述第一时长。
3.根据权利要求1所述的方法,其特征在于,所述浮点运算处理为多种,每种浮点运算处理对应于一个权重值;每种浮点运算处理对应于一个所述第一时长和一个所述第二时长;
所述根据所述预设次数、所述第一时长和所述第二时长,确定所述第二处理方式相对于所述第一处理方式进行浮点运算处理的速度提升量,包括:
针对每种浮点运算处理,根据该浮点运算处理的第一时长和第二时长,以及所述预设次数计算所述第二处理方式相对于所述第一处理方式进行单次该浮点运算处理的单次时长差;
根据每种浮点运算处理对应的单次时长差和权重值计算所有浮点运算处理的加权平均值,将所述加权平均值作为所述速度提升量。
4.根据权利要求1所述的方法,其特征在于,所述第一处理方式通过调用程序语言函数库进行浮点运算处理,所述第二处理方式通过浮点运算单元FPU进行浮点运算处理。
5.根据权利要求1所述的方法,其特征在于,应用于终端设备,所述终端设备包括处理器,所述处理器为无内部互锁流水级的微处理器MIPS处理器,所述终端设备的操作系统为VxWorks操作系统,对所述预置数据的浮点运算处理包括对所述预置数据进行开平方处理。
6.一种浮点运算速度的检测装置,其特征在于,包括:
第一记录模块,用于按照第一处理方式对预置数据进行预设次数的浮点运算处理,并记录完成所述第一处理方式对应的浮点运算处理所需的第一时长;
第二记录模块,用于按照第二处理方式对所述预置数据进行所述预设次数的浮点运算处理,并记录完成所述第二处理方式对应的浮点运算处理所需的第二时长;
处理模块,用于根据所述预设次数、所述第一时长和所述第二时长,确定所述第二处理方式相对于所述第一处理方式进行浮点运算处理的速度提升特征量。
7.根据权利要求6所述的装置,其特征在于,所述第一记录模块用于:
获取定时器的起始数值;
按照第一处理方式对所述预置数据进行所述预设次数的浮点运算处理;
在所述第一程序指令对应的浮点运算处理结束时,获取所述定时器的结束数值;
根据所述起始数值和所述结束数值计算所述第一时长。
8.根据权利要求6所述的装置,其特征在于,所述浮点运算处理为多种,每种浮点运算处理对应于一个权重值;每种浮点运算处理对应于一个所述第一时长和一个所述第二时长;
所述处理模块用于:
针对每种浮点运算处理,根据该浮点运算处理的第一时长和第二时长,以及所述预设次数计算所述第二处理方式相对于所述第一处理方式进行单次该浮点运算处理的单次时长差;
根据每种浮点运算处理对应的单次时长差和权重值计算所有浮点运算处理的加权平均值,将所述加权平均值作为速度提升量。
9.一种浮点运算速度的检测设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至5任一项所述的浮点运算速度的检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至5任一项所述的浮点运算速度的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910578169.8A CN110287085A (zh) | 2019-06-28 | 2019-06-28 | 浮点运算速度的检测方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910578169.8A CN110287085A (zh) | 2019-06-28 | 2019-06-28 | 浮点运算速度的检测方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110287085A true CN110287085A (zh) | 2019-09-27 |
Family
ID=68020061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910578169.8A Pending CN110287085A (zh) | 2019-06-28 | 2019-06-28 | 浮点运算速度的检测方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287085A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106997284A (zh) * | 2017-03-17 | 2017-08-01 | 龙芯中科技术有限公司 | 实现浮点运算操作的方法和装置 |
CN109710211A (zh) * | 2018-11-15 | 2019-05-03 | 珠海市杰理科技股份有限公司 | 浮点数据类型转换方法、装置、存储介质及计算机设备 |
-
2019
- 2019-06-28 CN CN201910578169.8A patent/CN110287085A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106997284A (zh) * | 2017-03-17 | 2017-08-01 | 龙芯中科技术有限公司 | 实现浮点运算操作的方法和装置 |
CN109710211A (zh) * | 2018-11-15 | 2019-05-03 | 珠海市杰理科技股份有限公司 | 浮点数据类型转换方法、装置、存储介质及计算机设备 |
Non-Patent Citations (3)
Title |
---|
(P.G.史密斯)PETER G.SMITH,(R.H.莫罗)RICHARD H.MORROW主编;段广才,骆大鹏主译: "《现场干预研究方法》", 郑州:河南医科大学出版社, pages: 313 - 315 * |
康国华,夏青,成婧: "基于SoPC的微小卫星姿轨控计算机设计与实现", 《南京航空航天大学学报》, vol. 45, no. 6, 31 December 2013 (2013-12-31), pages 766 - 767 * |
陈勇,杨战民,丁龙刚: "《龙芯嵌入式系统开发及应用实战》", 31 December 2016, 南京:东南大学出版社 ,, pages: 2 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6991983B2 (ja) | 機械学習システムをトレーニングする方法及びシステム | |
JP6857598B2 (ja) | カバレッジテスト支援装置およびカバレッジテスト支援方法 | |
WO1979000035A1 (en) | Apparatus for use with a data processor for defining a cyclic data buffer | |
CN111754200A (zh) | 一种业务处理方法及装置 | |
US20140156978A1 (en) | Detecting and Filtering Biased Branches in Global Branch History | |
CN116126346A (zh) | Ai模型的代码编译方法、装置、计算机设备及存储介质 | |
CN103309676B (zh) | 用于海洋数值模拟ROMS的Web服务封装方法以及系统 | |
US20220236992A1 (en) | Risc-v branch prediction method, device, electronic device and storage medium | |
CN110287085A (zh) | 浮点运算速度的检测方法、装置、设备及可读存储介质 | |
CN110796115B (zh) | 图像检测方法、装置、电子设备及可读存储介质 | |
CN107808336A (zh) | 一种财务指标的计算方法及装置 | |
CN109145821B (zh) | 一种对人眼图像中瞳孔图像进行定位的方法及装置 | |
CN106095631B (zh) | 一种基于有限状态机实现的多周期非流水线cpu动态调试方法 | |
CN110058881B (zh) | 一种定点累加运算的处理方法、装置和电子设备 | |
CN114817209A (zh) | 监控规则的处理方法和装置、处理器及电子设备 | |
CN104685473A (zh) | 一种软件测试方法及装置 | |
CN115878437A (zh) | 应用的性能测试方法、建立性能测试模型的方法及装置 | |
CN112116433A (zh) | 订单归因方法及装置 | |
CN112433914A (zh) | 获取并行计算任务进度的方法及系统 | |
CN104462368B (zh) | 数据计算方法、装置和服务器 | |
CN110865913A (zh) | 一种压力测试的方法及装置 | |
CN113012682A (zh) | 误唤醒率确定方法、装置、设备、存储介质和程序产品 | |
KR101700405B1 (ko) | 레지스터, 프로세서 및 프로세서 제어 방법 | |
CN112860224B (zh) | 一种函数执行环境构建方法、装置、电子设备及存储介质 | |
CN117556892A (zh) | 一种遗传算法算子优化方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd. |
|
CB02 | Change of applicant information |