站内搜索: 

关于我们

《数学大世界》杂志简介 简介信息: 《数学大世界》是经国家新闻出版总署批准,创刊于1994年。为了进一步深化新课程改革,促进学术交流、促进数学专业教育人才的快速成长,《数学大世界》杂志社将隆重推出以面向大、中、小学教师和教科研人员为主要读者对象的教学辅导刊物,为广大数学爱好者提供一个相互促进、共同探究的交流平台。 《数学大世界》为月刊,国内刊号...>>更多

2021年8月刊

您的位置:首页 > 2021年8月刊

一个浮点数学函数库测试平台
信息来源:《数学大世界》杂志社官方网站 发表时间: 2021/9/22 阅读数:224

一个浮点数学函数库测试平台

摘要:数学函数库作为CPU软件的重要组成部分,对于高性能计算机平台上的科学计算、工程数值计算起着极为关键的作用现有的测试工具只能片面地对函数库进行测试,没有从正确性、精度和函数性能这3方面加以考虑,而且往往只针对一类目标体系结构,适用性有限针对现有测试工具的缺陷,提出了面向多目标体系结构、全面可复用的一体化测试平台BM!test(basicmathlibrarytest)测试平台结合函数特征值、IEEE-754特殊数以及利用浮点数生成规则实现的全浮点域指数分布的IEEE-754规范数构造了测试集,有效提高了测试集浮点数的覆盖率,提出了基于多精度库MPFR(multiple-precisionfloating-pointreliablelibrary)的精度测试方法,提高了精度测试的可靠性,提出了基于代码隔离的性能测试方法,最大限度地降低了外部环境对性能测试的干扰针对大量的浮点测试结果,给出了合理的结果评价方案测试平台使用的测试集数据与函数做到了相关性的极大分离,保证了测试方法的普适性.通过对包括GNU,Open64Mlib函数库内所有855个函数的测试结果表明BMltest平台的剧试数据集更全面、有效,精度测试方法更可靠;与其他测试平台相比,性能测试结果更准确、稳定

关键词:数学函数库;测试平台;IEEE-754;精度测试;性能测试中图法分类号:TP311

当前,高性能计算机主要应用于航空航大、科学与工程计算、国防工业等领域,这些应用都会伴随超大数量级的数据处理、事务处理和信息服务,其中不乏对超大数量级或超高精度的浮点数据的处理,整个过程需要快速而精确的计算[ll,而此类计算都需要数学函数库的支持

数学函数库作为CPU软件的重要组成部分,是高性能计算机平台上科学计算、工程数值计算以及相关专用软件开发所必备的最基础、最核心的软件之一(21,主要包括三角类函数、指数类函数等初等函数(3-5].近些年来,学术界和工业界面向数学函数库的算法都展开了大量研究匼II]虽然面向数学函数库算法的研究一直在延续,相应的应用也在不断面世(1-219],但在满足面向高性能计算领域的高可靠、高精度和高性能需求时,数学函数库的实现依然存在一些困难和挑战:

I.浮点数的离散性

实数可以用来衡量连续变化的蜇.理论上,任何实数都可以用无限小数的方式表示,小数点右边是一个无穷数列但在实际应用中,实数经常被近似成有限小数,尤其在计算机领域,由千计算机只能存储有限的小数位数,实数经常通过浮点数表示.

目前,浮点数都遵循由KCS组合(Kahn,CoonanandStone)1985年为Intel开发,并被IEEE组织采用的

IEEE-754标准(201,该标准被大多数计算机支待,并从逻辑上用三元组{s,e,m}表示一个数n,n=(-1)'xmx2'.

其中,

s(sign)表示符号位,满足n>O时,s=O;n<O时,s=I;

e(exponent)表示指数位,位千sm之间的若干位,

m(mantissa)表示尾数位,位于n的末尾,m也被称为有效数字位(significant)、系数位(coefficient),甚至“小数”

这样的表示形式决定了浮点数在数轴上无法连续出现,呈现离散状态,即实数无法和浮点数完全对应,计算的真实值可能需要通过舍入并以机器可表示的浮点数形式出现.IEEE-754标准定义有4种舍入方式.就近舍入、向负无穷大舍入、向"O"舍入和向正无穷大舍入.在进行运算时,需要根据算法特性及函数功能选择适合的舍入模式.但无论何种舍入方式,都只能尽量减小舍入带来的误差,无法避免误差.这种数的近似表示给函数高精度要求带来了实现的困难

2.运算的局限性

数学函数库函数一般为初等函数,只能运用最基本的运算实现,所以数学库的函数实现和处理器的指令集密不可分,对于不同的指令集,相同函数的实现可能不同同时,只能利用加减乘除、移位、跳转等简单的指令实现复杂函数算法,其难度是显而易见的

3.近似求解的计算方式

当前,函数计算的主要方法有级数法(多项式近似法)、迭代法、查表法[21]、有理数逼近法、逐位法(22]

CORDIC[23]等无论是具有计算速度快这样优势的级数法和查表法,还是具有计算精度高这样特点的迭代法,都无可避免地存在无法精确计算的问题,都属千近似求解方法.虽然针对这一问题,在误差控制方面有较成熟的研究如区间分析在浮点误差方面的应用(24]等,但这类研究并不能彻底解决近似求解问题,浮点误差可能带来的传递依然会存在,对于复杂计算问题甚至可能出现误差爆炸现象[25]

360 百度 中国知网 全网目录