摘要

现有高性能计算应用中浮点运算通常使用高精度浮点类型,但使用高精度会带来性能上的损失等额外开销,故可以采取降低程序中部分浮点变量的精度从而在满足精度需求的同时提升程序性能,但对于不同的浮点计算程序来说,用户在无策略的条件下较难确定哪些浮点变量能够降低精度。针对这一问题,提出一种基于误差敏感度的自动混合精度工具Miplex,相较于以往的混合精度工具,能够将找到有效混合精度方案的时间复杂度从O(N2)约束至O(N),从而快速找到满足误差需求的混合精度分配方案。实验结果表明,相较于现有的混合精度工具,最大获得了80.31%的性能提升;在x86和SW测试平台上相比较原始高精度程序也获得了最大为35.84%和33.12%的加速效果。

  • 单位
    信息工程大学