CN106020772A - 异构系统中基于数据表精简技术的超越函数访存优化方法 - Google Patents
异构系统中基于数据表精简技术的超越函数访存优化方法 Download PDFInfo
- Publication number
- CN106020772A CN106020772A CN201610316427.1A CN201610316427A CN106020772A CN 106020772 A CN106020772 A CN 106020772A CN 201610316427 A CN201610316427 A CN 201610316427A CN 106020772 A CN106020772 A CN 106020772A
- Authority
- CN
- China
- Prior art keywords
- function
- data
- tables
- interval
- mathematical function
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种异构系统中基于数据表精简技术的超越函数访存优化方法,首先采用MathDataReduce算法压缩数学函数数据表;然后采用立即数寻址方式将数据写入指令中;通过分支跳转指令获取写入的数据,消除函数实现中的访存操作。本发明在运算控制核心和运算核心相结合的异构众核高性能计算机系统中,对基础数学库中采用多项式和查表相结合算法实现的超越函数使用数据表精简技术实现访存优化,减少写入数据的指令与分支判断跳转指令数目,降低增加指令数目对数学函数的性能影响,有效提升数学函数的性能。
Description
技术领域
本发明涉及异构众核高性能计算机系统中高性能数据处理技术领域,特别涉及一种异构系统中基于数据表精简技术的超越函数访存优化方法。
背景技术
随着高性能计算机的蓬勃发展,处理器技术朝着众核发展,其运算性能不断提升,而存储器带宽提升相对较慢,“存储墙”问题更加突出。数学函数库作为处理器配套系统软件的重要组成部分,是高性能计算机平台上各领域特别是科学计算与工程数值计算领域应用软件开发所必备的最基础、最核心的软件之一。目前数学函数库中超越函数算法已基本成熟,采用多项式与查表结合的算法,即规约(reduction)、逼近(approximation),以及重建(reconstruction)。具体实现如下:
设实现的函数为f,定义域为I,则算法分三步:
Reduction:对于x∈I,寻找最接近x的断点cjk,
r=R(x,cjk),最典型的例子:R(x,cjk)=x-cjk
Approximation:f(r)≈p(r),通常p(r)是多项式
f(r)=S(f(cjk),f(r))
≈S(f(cjk),p(r))
Reconstruction:≈S(Tk,p(r))
S是重建函数,Tk是存储在表中的f(cjk)的近似值。
由于查表有大量的访存操作,因此,在高性能平台上,“存储墙”问题成为超越函数优化面临的关键问题之一。近几年,随着计算机和信息技术的迅猛发展和普及应用,应用系统的规模也迅速扩大,应用所产生的数据呈爆发式增长,因而需要更高的性能处理数据。因此,为了满足应用的高性能需求,需抓住访存这一时间消耗热点,对其进行深度优化。
目前,访存优化方法主要有提高cache命中率和隐藏访存延时。上述两项方法虽然可以一定程度上提高性能,但提高cache命中率方法会受到硬件体系结构的限制,隐藏访存延时方法会受到依赖关系的影响,访存优化效果有限且并不能减少访存操作的实际时间消耗。
发明内容
为克服现有技术中的不足,本发明提供一种异构系统中基于数据表精简技术的超越函数访存优化方法,解决异构众核高性能平台上“存储墙”问题对数学函数性能的影响,访存优化效果好,大大减少访存操作的实际时间消耗。
按照本发明所提供的设计方案,一种异构系统中基于数据表精简技术的超越函数访存优化方法,包含如下步骤:
步骤1、采用MathDataReduce算法,压缩数学函数的数据表;
步骤2、针对经过步骤1压缩后的数据表,采用立即数寻址方式将数据写入指令中。
步骤3、通过分支跳转指令获取写入的数据,消除函数实现中的访存操作。
上述的,步骤1具体包含如下内容:
步骤1.1、从已有的函数实现中获取数学函数的逼近多项式,以及逼近多项式与数学函数之间的最大相对误差;
步骤1.2、基于步骤1.1中获取的最大相对误差,通过基于区间分析的多项式误差分析方法,得到当前误差下的多项式逼近区间;
步骤1.3、针对多项式逼近区间,结合规约函数,分析数学函数的数据表,改变数学函数输入与数据表之间的映射关系,通过重组数据,压缩数据表。
上述的,步骤1.1中利用多项式误差测试工具获取该数学函数中逼近多项式的最大相对误差,其中,对于数学函数中的重建函数S=Tk±p(r),通过计算近似值Tk与逼近多项式p(r)之间的最小阶码之差,由最小阶码之差计算得到重建函数S所能容忍的逼近多项式p(r)和mpfr函数库中相应函数f(r)之间的最大相对误差。
上述的,所述步骤1.2具体包含如下内容:
步骤1.2.1、初始化逼近区间D;
步骤1.2.2、结合数学函数实现特征,利用穷举法和随机生成法生成逼近区间D的测试数据集,测试数据集中包含n个测试数据,初始化计数器count;
步骤1.2.3、判断计数器count是否满足count≤n,若是,则进入步骤1.2.4,否则进入步骤1.2.5;
步骤1.2.4、根据测试数据集,计算逼近多项式p(r),并与mpfr函数库中对应数学函数f(r)进行比对,计算出两者之间的相对误差,若相对误差<最大相对误差,则统计满足该条件的测试数据的个数,记录满足条件的最大边界点,同时令count=count+1,并返回步骤1.2.3;否则,令count=count+1,并返回步骤1.2.3;
步骤1.2.5、计算满足逼近多项式p(r)与mpfr函数库中对应数学函数f(r)之间相对误差小于最大相对误差的概率rate,若概率rate≥设定阈值,则逼近区间D为在最大相对误差下该逼近多项式p(r)的最佳逼近区间,否则,根据满足条件的最大输入修改逼近区间D,并返回步骤1.2.2执行。
上述的,所述步骤1.2.5中的设定阈值为0.999999。
本发明的有益效果:
本发明基于MathDataReduce算法的访存优化技术,通过压缩数学函数数据表,减少写入数据的指令与分支判断跳转指令数目,降低增加指令数目对数学函数的性能影响,有效提升数学函数的性能;进一步增强同一算法在不同平台上的适应性,保证基础数学函数在异构环境下的高效运行;不仅适用于超越函数,同样适用于在异构众核平台下存在大量访存操作且访存慢的程序,特别对于大型高性能计算应用的优化有重要的指导意义。
附图说明:
图1为本发明的流程示意图;
图2为本发明中基于区间分析的多项式误差分析方法的流程示意图;
图3为本发明中采用MathDataReduce算法压缩数学函数数据表的示意图;
图4为本发明中数据指令转换示意图。
具体实施方式:
本发明中涉及到mpfr函数库,mpfr函数库是一个正确舍入的多精度浮点计算库,主要目标是提供高效且具有明确定义语义的多精度浮点运算。
下面结合附图和技术方案对本发明作进一步详细的说明,并通过优选的实施例详细说明本发明的实施方式,但本发明的实施方式并不限于此。
实施例一,参见图1所示,一种异构系统中基于数据表精简技术的超越函数访存优化方法,含如下步骤:
步骤1、采用MathDataReduce算法,压缩数学函数的数据表;
步骤2、针对经过步骤1压缩后的数据表,采用立即数寻址方式将数据写入指令中。
步骤3、通过分支跳转指令获取写入的数据,消除函数实现中的访存操作。
基于MathDataReduce算法的访存优化技术,通过压缩数学函数数据表,减少写入数据的指令与分支判断跳转指令数目,降低增加指令数目对数学函数的性能影响,有效提升数学函数的性能。
实施例二,参见图1~4所示,一种异构系统中基于数据表精简技术的超越函数访存优化方法,含如下步骤:
步骤1、采用MathDataReduce算法,压缩数学函数的数据表,具体包含如下内容:
步骤1.1、从已有的函数实现中获取数学函数的逼近多项式,以及逼近多项式与数学函数之间的最大相对误差,利用多项式误差测试工具获取该数学函数中逼近多项式的最大相对误差,其中,对于数学函数中的重建函数S=Tk±p(r),通过计算近似值Tk与逼近多项式p(r)之间的最小阶码之差,由最小阶码之差计算得到重建函数S所能容忍的逼近多项式p(r)和mpfr函数库中相应函数f(r)之间的最大相对误差;
步骤1.2、基于步骤1.1中获取的最大相对误差,通过基于区间分析的多项式误差分析方法,得到当前误差下的多项式逼近区间,具体包含如下内容:
步骤1.2.1、初始化逼近区间D;
步骤1.2.2、结合数学函数实现特征,利用穷举法和随机生成法生成逼近区间D的测试数据集,测试数据集中包含n个测试数据,初始化计数器count;
步骤1.2.3、判断计数器count是否满足count≤n,若是,则进入步骤1.2.4,否则进入步骤1.2.5;
步骤1.2.4、根据测试数据集,计算逼近多项式p(r),并与mpfr函数库中对应数学函数f(r)进行比对,计算出两者之间的相对误差,若相对误差<最大相对误差,则统计满足该条件的测试数据的个数,记录满足条件的最大边界点,同时令count=count+1,并返回步骤1.2.3;否则,令count=count+1,并返回步骤1.2.3;
步骤1.2.5、计算满足逼近多项式p(r)与mpfr函数库中对应数学函数f(r)之间相对误差小于最大相对误差的概率rate,若概率rate≥设定阈值,则逼近区间D为在最大相对误差下该逼近多项式p(r)的最佳逼近区间,否则,根据满足条件的最大输入修改逼近区间D,并返回步骤1.2.2执行;
步骤1.3、针对多项式逼近区间,结合规约函数,分析数学函数的数据表,改变数学函数输入与数据表之间的映射关系,通过重组数据,压缩数据表;
步骤2、针对经过步骤1压缩后的数据表,采用立即数寻址方式将数据写入指令中。
步骤3、通过分支跳转指令获取写入的数据,消除函数实现中的访存操作。
该实施例中根据实验形成的经验,步骤1.2.5的设定阈值设定为0.999999;对于IEEE-754标准表示的浮点数x和y, (MAX>>x>y>>-MAX),其阶差为ΔE(ΔE=Ex-Ey≥2),函数为f(x,y)=x±y,在保证f(x,y)相对误差不大于1ulp的情况下,f(x,y)所能容忍的y与y真值之间的最大相对误差为2ΔEulp;对于给定的逼近多项式以及逼近区间,在逼近区间中结合数学函数实现特征,利用穷举法与随机生成法生成测试数据集,数学函数实现特征由函数常用输入区间确定;在测试数据集下,计算出逼近多项式的结果,并与mpfr库中对应数学函数的结果进行对比,以计算相对误差;比较每一个输入下的相对误差,获取逼近多项式在该逼近区间下的最大相对误差。
本发明在运算控制核心和运算核心相结合的异构众核高性能计算机系统中,对基础数学库中采用多项式和查表相结合算法实现的超越函数使用数据表精简技术实现访存优化。
本发明并不局限于上述具体实施方式,本领域技术人员还可据此做出多种变化,但任何与本发明等同或者类似的变化都应涵盖在本发明权利要求的范围内。
Claims (5)
1.一种异构系统中基于数据表精简技术的超越函数访存优化方法,其特征在于:包含如下步骤:
步骤1、采用MathDataReduce算法,压缩数学函数的数据表;
步骤2、针对经过步骤1压缩后的数据表,采用立即数寻址方式将数据写入指令中。
步骤3、通过分支跳转指令获取写入的数据,消除函数实现中的访存操作。
2.根据权利要求1所述的异构系统中基于数据表精简技术的超越函数访存优化方法,其特征在于:所述步骤1具体包含如下内容:
步骤1.1、从已有的函数实现中获取数学函数的逼近多项式,以及逼近多项式与数学函数之间的最大相对误差;
步骤1.2、基于步骤1.1中获取的最大相对误差,通过基于区间分析的多项式误差分析方法,得到当前误差下的多项式逼近区间;
步骤1.3、针对多项式逼近区间,结合规约函数,分析数学函数的数据表,改变数学函数输入与数据表之间的映射关系,通过重组数据,压缩数据表。
3.根据权利要求2所述的异构系统中基于数据表精简技术的超越函数访存优化方法,其特征在于:步骤1.1中利用多项式误差测试工具获取该数学函数中逼近多项式的最大相对误差,其中,对于数学函数中的重建函数S=Tk±p(r),通过计算近似值Tk与逼近多项式p(r)之间的最小阶码之差,由最小阶码之差计算得到重建函数S所能容忍的逼近多项式p(r)和mpfr函数库中相应函数f(r)之间的最大相对误差。
4.根据权利要求2所述的异构系统中基于数据表精简技术的超越函数访存优化方法,其特征在于:所述步骤1.2具体包含如下内容:
步骤1.2.1、初始化逼近区间D;
步骤1.2.2、结合数学函数实现特征,利用穷举法和随机生成法生成逼近区间D的测试数据集,测试数据集中包含n个测试数据,初始化计数器count;
步骤1.2.3、判断计数器count是否满足count≤n,若是,则进入步骤1.2.4,否则进入步骤1.2.5;
步骤1.2.4、根据测试数据集,计算逼近多项式p(r),并与mpfr函数库中对应数学函数f(r)进行比对,计算出两者之间的相对误差,若相对误差<最大相对误差,则统计满足该条件的测试数据的个数,记录满足条件的最大边界点,同时令count=count+1,并返回步骤1.2.3;否则,令count=count+1,返回步骤1.2.3;
步骤1.2.5、计算满足逼近多项式p(r)与mpfr函数库中对应数学函数f(r)之间相对误差小于最大相对误差的概率rate,若概率rate≥设定阈值,则逼近区间D为在最大相对误差下该逼近多项式p(r)的最佳逼近区间,否则,根据满足条件的最大输入修改逼近区间D,并返回步骤1.2.2执行。
5.根据权利要求4所述的异构系统中基于数据表精简技术的超越函数访存优化方法,其特征在于:所述步骤1.2.5中的设定阈值为0.999999。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610316427.1A CN106020772B (zh) | 2016-05-13 | 2016-05-13 | 异构系统中基于数据表精简技术的超越函数访存优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610316427.1A CN106020772B (zh) | 2016-05-13 | 2016-05-13 | 异构系统中基于数据表精简技术的超越函数访存优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106020772A true CN106020772A (zh) | 2016-10-12 |
CN106020772B CN106020772B (zh) | 2018-03-27 |
Family
ID=57099466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610316427.1A Expired - Fee Related CN106020772B (zh) | 2016-05-13 | 2016-05-13 | 异构系统中基于数据表精简技术的超越函数访存优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106020772B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6662296B1 (en) * | 2000-10-02 | 2003-12-09 | International Business Machines Corporation | Method and system for testing millicode branch points |
US20080282059A1 (en) * | 2007-05-09 | 2008-11-13 | Kattamuri Ekanadham | Method and apparatus for determining membership in a set of items in a computer system |
CN101329682A (zh) * | 2008-07-22 | 2008-12-24 | 华北电力大学 | 一种分布异构信息资源集成方法 |
CN102109973A (zh) * | 2011-03-02 | 2011-06-29 | 中国电子科技集团公司第三十八研究所 | 包含超越函数计算的处理器实现装置 |
-
2016
- 2016-05-13 CN CN201610316427.1A patent/CN106020772B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6662296B1 (en) * | 2000-10-02 | 2003-12-09 | International Business Machines Corporation | Method and system for testing millicode branch points |
US20080282059A1 (en) * | 2007-05-09 | 2008-11-13 | Kattamuri Ekanadham | Method and apparatus for determining membership in a set of items in a computer system |
CN101329682A (zh) * | 2008-07-22 | 2008-12-24 | 华北电力大学 | 一种分布异构信息资源集成方法 |
CN102109973A (zh) * | 2011-03-02 | 2011-06-29 | 中国电子科技集团公司第三十八研究所 | 包含超越函数计算的处理器实现装置 |
Non-Patent Citations (2)
Title |
---|
许瑾晨等: "面向异构众核从核的数学函数库访存优化方法", 《计算机科学》 * |
郭绍忠等: "一种改进的超越函数通用算法", 《计算机工程》 * |
Also Published As
Publication number | Publication date |
---|---|
CN106020772B (zh) | 2018-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108496160B (zh) | 用于增强系统性能的自适应值范围剖析 | |
US9405677B2 (en) | Dynamic tuning of internal parameters for solid-state disk based on workload access patterns | |
US9785443B2 (en) | Data cache system and method | |
CN102792285B (zh) | 用于处理数据的装置和方法 | |
Jaleel et al. | High performance cache replacement using re-reference interval prediction (RRIP) | |
CN110059020B (zh) | 扩展内存的访问方法、设备以及系统 | |
CN109783399B (zh) | 一种动态可重构处理器的数据缓存预取方法 | |
US7925865B2 (en) | Accuracy of correlation prefetching via block correlation and adaptive prefetch degree selection | |
US9418019B2 (en) | Cache replacement policy methods and systems | |
CN107735773B (zh) | 用于高速缓冲存储标签压缩的方法及设备 | |
US20150234745A1 (en) | Data cache prefetch controller | |
CN111143243B (zh) | 一种基于nvm混合内存的缓存预取方法及系统 | |
CN111367831B (zh) | 翻译页表的深度预取方法、部件、微处理器及计算机设备 | |
US9280350B2 (en) | Methods and apparatus to perform adaptive pre-fetch operations in managed runtime environments | |
GB2581938A (en) | Configuration state registers grouped based on functional affinity | |
US20200210334A1 (en) | Cache Hit Ratio Simulation Using A Partial Data Set | |
CN113408070B (zh) | 发动机参数的确定方法、装置、设备及存储介质 | |
US20170046140A1 (en) | State recovery methods and apparatus for computing platforms | |
Tojo et al. | Exact and fast L1 cache simulation for embedded systems | |
US10628301B1 (en) | System and method for optimizing write amplification of non-volatile memory storage media | |
Zhang et al. | Cocktail: Mixing data with different characteristics to reduce read reclaims for NAND flash memory | |
EP3029574A1 (en) | Memory management | |
GB2575878A (en) | Binary search procedure for control table stored in memory system | |
CN106020772A (zh) | 异构系统中基于数据表精简技术的超越函数访存优化方法 | |
EP3368987A1 (en) | Accessing cache |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180327 Termination date: 20190513 |