PANDORA: An Architecture-Independent Parallelizing Approximation-Discovery Framework

PANDORA: An Architecture-Independent Parallelizing Approximation-Discovery Framework
复制标题

PANDORA:独立于架构的并行逼近发现框架

DOI:
10.1145/3391899
复制
发表时间:
2020
影响因子:
2
通讯作者:
Campbell, David
Campbell, David
中科院分区:
计算机科学3区
文献类型:
--
作者:
Stitt, Greg;Campbell, David

文献摘要

相似文献

在本文中,我们介绍了并行化近似发现框架Pandora,它用于自动发现所提供代码的应用程序和体系结构专用的近似。Pandora通过在性能和错误之间生成一系列Pareto最优折衷来生成近似值,从而补充了现有的编译器和运行时优化器,从而能够适应不同的输入、不同的用户偏好和不同的运行时条件(例如,电池寿命)。我们演示了Pandora可以通过发现消除循环携带依赖的替代实现来创建固有顺序代码的并行近似。对于具有循环携带依赖关系的各种函数,Pandora生成的近似值实现了2.3倍到81倍的加速比,对于许多使用场景来说,误差都是可以接受的。我们还通过FPGA实验演示了Pandora的特定于体系结构的近似,并通过从没有已知闭合解的递归关系中删除循环携带的依赖来突出Pandora的发现能力。
In this article, we introduce aparallelizingapproximation-discovery framework, PANDORA, for automatically discovering application- and architecture-specialized approximations of provided code. PANDORA complements existing compilers and runtime optimizers by generating approximations with a range of Pareto-optimal tradeoffs between performance and error, which enables adaptation to different inputs, different user preferences, and different runtime conditions (e.g., battery life). We demonstrate that PANDORA can create parallel approximations of inherently sequential code by discovering alternative implementations that eliminate loop-carried dependencies. For a variety of functions with loop-carried dependencies, PANDORA generates approximations that achieve speedups ranging from 2.3x to 81x, with acceptable error for many usage scenarios. We also demonstrate PANDORA’s architecture-specialized approximations via FPGA experiments, and highlight PANDORA’s discovery capabilities by removing loop-carried dependencies from a recurrence relation with no known closed-form solution.