异构系统中基于数据表精简技术的超越函数访存优化方法

文档序号:10654136阅读:424来源:国知局
异构系统中基于数据表精简技术的超越函数访存优化方法
【专利摘要】本发明涉及一种异构系统中基于数据表精简技术的超越函数访存优化方法,首先采用MathDataReduce算法压缩数学函数数据表;然后采用立即数寻址方式将数据写入指令中;通过分支跳转指令获取写入的数据,消除函数实现中的访存操作。本发明在运算控制核心和运算核心相结合的异构众核高性能计算机系统中,对基础数学库中采用多项式和查表相结合算法实现的超越函数使用数据表精简技术实现访存优化,减少写入数据的指令与分支判断跳转指令数目,降低增加指令数目对数学函数的性能影响,有效提升数学函数的性能。
【专利说明】
异构系统中基于数据表精简技术的超越函数访存优化方法
技术领域
[0001] 本发明设及异构众核高性能计算机系统中高性能数据处理技术领域,特别设及一 种异构系统中基于数据表精简技术的超越函数访存优化方法。
【背景技术】
[0002] 随着高性能计算机的蓬勃发展,处理器技术朝着众核发展,其运算性能不断提升, 而存储器带宽提升相对较慢,"存储墙"问题更加突出。数学函数库作为处理器配套系统软 件的重要组成部分,是高性能计算机平台上各领域特别是科学计算与工程数值计算领域应 用软件开发所必备的最基础、最核屯、的软件之一。目前数学函数库中超越函数算法已基本 成熟,采用多项式与查表结合的算法,即规约(reduction)、逼近(approximation),W及重 建(reconstruction)。具体实现如下:
[0003] 设实现的函数为f,定义域为I,则算法分=步:
[0004] Reduction:对于XG I,寻找最接近X的断点Cjk,
[000引 r = R(x,Cjk),最典型的例子:R(X,CjO=X-Cjk
[0006] App;roximation:f(;r)>p(;r),通常P(T)是多项式
[0007] f(r)=S(f(cjk),f(r))
[000引 ^=S(f(Cjk),p(r))
[0009] Reconstruction: >5(化,P(T))
[0010] S是重建函数,Tk是存储在表中的f (Cjk)的近似值。
[0011] 由于查表有大量的访存操作,因此,在高性能平台上,"存储墙"问题成为超越函数 优化面临的关键问题之一。近几年,随着计算机和信息技术的迅猛发展和普及应用,应用系 统的规模也迅速扩大,应用所产生的数据呈爆发式增长,因而需要更高的性能处理数据。因 此,为了满足应用的高性能需求,需抓住访存运一时间消耗热点,对其进行深度优化。
[0012] 目前,访存优化方法主要有提高cache命中率和隐藏访存延时。上述两项方法虽然 可W-定程度上提高性能,但提高cache命中率方法会受到硬件体系结构的限制,隐藏访存 延时方法会受到依赖关系的影响,访存优化效果有限且并不能减少访存操作的实际时间消 耗。

【发明内容】

[0013] 为克服现有技术中的不足,本发明提供一种异构系统中基于数据表精简技术的超 越函数访存优化方法,解决异构众核高性能平台上"存储墙"问题对数学函数性能的影响, 访存优化效果好,大大减少访存操作的实际时间消耗。
[0014] 按照本发明所提供的设计方案,一种异构系统中基于数据表精简技术的超越函数 访存优化方法,包含如下步骤:
[0015] 步骤1、采用MatMa化Reduce算法,压缩数学函数的数据表;
[0016] 步骤2、针对经过步骤1压缩后的数据表,采用立即数寻址方式将数据写入指令中。
[0017]步骤3、通过分支跳转指令获取写入的数据,消除函数实现中的访存操作。
[001引上述的,步骤巧体包含如下内容:
[0019] 步骤1.1、从已有的函数实现中获取数学函数的逼近多项式,W及逼近多项式与数 学函数之间的最大相对误差;
[0020] 步骤1.2、基于步骤1.1中获取的最大相对误差,通过基于区间分析的多项式误差 分析方法,得到当前误差下的多项式逼近区间;
[0021] 步骤1.3、针对多项式逼近区间,结合规约函数,分析数学函数的数据表,改变数学 函数输入与数据表之间的映射关系,通过重组数据,压缩数据表。
[0022] 上述的,步骤1.1中利用多项式误差测试工具获取该数学函数中逼近多项式的最 大相对误差,其中,对于数学函数中的重建函数S = ^±p(r),通过计算近似值化与逼近多项 式P(r)之间的最小阶码之差,由最小阶码之差计算得到重建函数S所能容忍的逼近多项式P (r)和mp打函数库中相应函数fXr)之间的最大相对误差。
[002引上述的,所述步骤1.2具体包含如下内容:
[0024] 步骤1.2.1、初始化逼近区间D;
[0025] 步骤1.2.2、结合数学函数实现特征,利用穷举法和随机生成法生成逼近区间D的 测试数据集,测试数据集中包含n个测试数据,初始化计数器count;
[00%] 步骤1.2.3、判断计数器count是否满足count《n,若是,则进入步骤1.2.4,否则进 入步骤1.2.5;
[0027]步骤1.2.4、根据测试数据集,计算逼近多项式p(r),并与mpfr函数库中对应数学 函数f(r)进行比对,计算出两者之间的相对误差,若相对误差 < 最大相对误差,则统计满足 该条件的测试数据的个数,记录满足条件的最大边界点,同时令count = count+l,并返回步 骤1.2.3;否则,令。〇11]11 = (3〇11]11+1,并返回步骤1.2.3;
[00%]步骤1.2.5、计算满足逼近多项式p(r)与mpfr函数库中对应数学函数f(r)之间相 对误差小于最大相对误差的概率rate,若概率^*6>设定阔值,则逼近区间D为在最大相对 误差下该逼近多项式P(r)的最佳逼近区间,否则,根据满足条件的最大输入修改逼近区间 D,并返回步骤1.2.2执行。
[0029] 上述的,所述步骤1.2.5中的设定阔值为0.999999。
[0030] 本发明的有益效果:
[0031] 本发明基于MatMataReduce算法的访存优化技术,通过压缩数学函数数据表,减 少写入数据的指令与分支判断跳转指令数目,降低增加指令数目对数学函数的性能影响, 有效提升数学函数的性能;进一步增强同一算法在不同平台上的适应性,保证基础数学函 数在异构环境下的高效运行;不仅适用于超越函数,同样适用于在异构众核平台下存在大 量访存操作且访存慢的程序,特别对于大型高性能计算应用的优化有重要的指导意义。
【附图说明】:
[0032] 图1为本发明的流程示意图;
[0033] 图2为本发明中基于区间分析的多项式误差分析方法的流程示意图;
[0034] 图3为本发明中采用MatMa化Reduce算法压缩数学函数数据表的示意图;
[0035] 图4为本发明中数据指令转换示意图。
【具体实施方式】:
[0036] 本发明中设及到mpfr函数库,mpfr函数库是一个正确舍入的多精度浮点计算库, 主要目标是提供高效且具有明确定义语义的多精度浮点运算。
[0037] 下面结合附图和技术方案对本发明作进一步详细的说明,并通过优选的实施例详 细说明本发明的实施方式,但本发明的实施方式并不限于此。
[0038] 实施例一,参见图1所示,一种异构系统中基于数据表精简技术的超越函数访存优 化方法,含如下步骤:
[0039] 步骤1、采用MatMa化Reduce算法,压缩数学函数的数据表;
[0040] 步骤2、针对经过步骤1压缩后的数据表,采用立即数寻址方式将数据写入指令中。
[0041] 步骤3、通过分支跳转指令获取写入的数据,消除函数实现中的访存操作。
[0042] 基于MatMataReduce算法的访存优化技术,通过压缩数学函数数据表,减少写入 数据的指令与分支判断跳转指令数目,降低增加指令数目对数学函数的性能影响,有效提 升数学函数的性能。
[0043] 实施例二,参见图1~4所示,一种异构系统中基于数据表精简技术的超越函数访 存优化方法,含如下步骤:
[0044] 步骤1、采用MatMa化Reduce算法,压缩数学函数的数据表,具体包含如下内容:
[0045] 步骤1.1、从已有的函数实现中获取数学函数的逼近多项式,W及逼近多项式与数 学函数之间的最大相对误差,利用多项式误差测试工具获取该数学函数中逼近多项式的最 大相对误差,其中,对于数学函数中的重建函数S = ^±p(r),通过计算近似值化与逼近多项 式P(r)之间的最小阶码之差,由最小阶码之差计算得到重建函数S所能容忍的逼近多项式P (r)和mp打函数库中相应函数fXr)之间的最大相对误差;
[0046] 步骤1.2、基于步骤1.1中获取的最大相对误差,通过基于区间分析的多项式误差 分析方法,得到当前误差下的多项式逼近区间,具体包含如下内容:
[0047] 步骤1.2.1、初始化逼近区间D;
[0048] 步骤1.2.2、结合数学函数实现特征,利用穷举法和随机生成法生成逼近区间D的 测试数据集,测试数据集中包含n个测试数据,初始化计数器count;
[0049] 步骤1.2.3、判断计数器count是否满足count《n,若是,则进入步骤1.2.4,否则进 入步骤1.2.5;
[0050] 步骤1.2.4、根据测试数据集,计算逼近多项式p(r),并与mpfr函数库中对应数学 函数f(r)进行比对,计算出两者之间的相对误差,若相对误差 < 最大相对误差,则统计满足 该条件的测试数据的个数,记录满足条件的最大边界点,同时令count = count+l,并返回步 骤1.2.3;否则,令。〇11]11 = (3〇11]11+1,并返回步骤1.2.3;
[0051 ]步骤1.2.5、计算满足逼近多项式P(T)与mpfr函数库中对应数学函数f(;r)之间相 对误差小于最大相对误差的概率rate,若概率^*6>设定阔值,则逼近区间D为在最大相对 误差下该逼近多项式P(r)的最佳逼近区间,否则,根据满足条件的最大输入修改逼近区间 D,并返回步骤1.2.2执行;
[0052]步骤1.3、针对多项式逼近区间,结合规约函数,分析数学函数的数据表,改变数学 函数输入与数据表之间的映射关系,通过重组数据,压缩数据表;
[0053] 步骤2、针对经过步骤I压缩后的数据表,采用立即数寻址方式将数据写入指令中。
[0054] 步骤3、通过分支跳转指令获取写入的数据,消除函数实现中的访存操作。
[0055] 该实施例中根据实验形成的经验,步骤1.2.5的设定阔值设定为0.999999;对于 IE邸-754标准表示的浮点数X和y,X二 zW, x2'',.r = M,. X2''' (MAX> >x>y > >-MAX),其阶 差为AE( AE = Ex-Ey>2),函数为^义,7)=义±7,在保证^义,7)相对误差不大于11119的情况 下,f(x,y)所能容忍的y与之间的最大相对误差为2&Eulp;对于给定的逼近多项式W及 逼近区间,在逼近区间中结合数学函数实现特征,利用穷举法与随机生成法生成测试数据 集,数学函数实现特征由函数常用输入区间确定;在测试数据集下,计算出逼近多项式的结 果,并与mp打库中对应数学函数的结果进行对比,W计算相对误差;比较每一个输入下的相 对误差,获取逼近多项式在该逼近区间下的最大相对误差。
[0056] 本发明在运算控制核屯、和运算核屯、相结合的异构众核高性能计算机系统中,对基 础数学库中采用多项式和查表相结合算法实现的超越函数使用数据表精简技术实现访存 优化。
[0057] 本发明并不局限于上述【具体实施方式】,本领域技术人员还可据此做出多种变化, 但任何与本发明等同或者类似的变化都应涵盖在本发明权利要求的范围内。
【主权项】
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的测试 数据集,测试数据集中包含η个测试数据,初始化计数器count; 步骤1.2.3、判断计数器count是否满足countSn,若是,则进入步骤1.2.4,否则进入步 骤1.2.5; 步骤1.2.4、根据测试数据集,计算逼近多项式p(r),并与mpfr函数库中对应数学函数f (r)进行比对,计算出两者之间的相对误差,若相对误差 < 最大相对误差,则统计满足该条 件的测试数据的个数,记录满足条件的最大边界点,同时令c〇unt = C〇Unt+l,并返回步骤 1.2.3;否则,令(3〇111^ = (:〇111^+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。
【文档编号】G06F9/30GK106020772SQ201610316427
【公开日】2016年10月12日
【申请日】2016年5月13日
【发明人】王磊, 张乾坤, 孟虹松, 周蓓, 郭绍忠, 韩林, 戴涛, 许瑾晨
【申请人】中国人民解放军信息工程大学, 中国南方电网有限责任公司电网技术研究中心, 南方电网科学研究院有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1