当前位置: X-MOL 学术IEEE Trans. Parallel Distrib. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Abstraction Layer For Standardizing APIs of Task-Based Engines
IEEE Transactions on Parallel and Distributed Systems ( IF 5.3 ) Pub Date : 2020-11-01 , DOI: 10.1109/tpds.2020.2992923
Rabab Alomairy , Hatem Ltaief , Mustafa Abduljabbar , David Keyes

We introduce AL4SAN, a lightweight library for abstracting the APIs of task-based runtime engines. AL4SAN unifies the expression of tasks and their data dependencies. It supports various dynamic runtime systems relying on compiler technology and user-defined APIs. It enables a single application to employ different runtimes and their respective scheduling components, while providing user-obliviousness to the underlying hardware configurations. AL4SAN exposes common front-end APIs and connects to different back-end runtimes. Experiments on performance and overhead assessments are reported on various shared- and distributed-memory systems, possibly equipped with hardware accelerators. A range of workloads, from compute-bound to memory-bound regimes, are employed as proxies for current scientific applications. The low overhead (less than 10 percent) achieved using a variety of workloads enables AL4SAN to be deployed for fast development of task-based numerical algorithms. More interestingly, AL4SAN enables runtime interoperability by switching runtimes at runtime. Blending runtime systems permits to achieve a twofold speedup on a task-based generalized symmetric eigenvalue solver, relative to state-of-the-art implementations. The ultimate goal of AL4SAN is not to create a new runtime, but to strengthen co-design of existing runtimes/applications, while facilitating user productivity and code portability. The code of AL4SAN is freely available at https://github.com/ecrc/al4san, with extensions in progress.

中文翻译:

用于标准化基于任务的引擎的 API 的抽象层

我们介绍 AL4SAN,一个用于抽象基于任务的运行时引擎 API 的轻量级库。 AL4SAN统一任务的表达及其数据依赖。它支持依赖编译器技术和用户定义 API 的各种动态运行时系统。它使单个应用程序能够使用不同的运行时及其各自的调度组件,同时使用户无需了解底层硬件配置。AL4SAN公开常见的前端 API 并连接到不同的后端运行时。在可能配备硬件加速器的各种共享和分布式内存系统上报告了性能和开销评估的实验。一系列工作负载,从计算绑定到内存绑定机制,被用作当前科学应用程序的代理。使用各种工作负载实现的低开销(低于 10%)使AL4SAN用于快速开发基于任务的数值算法。更有趣的是,AL4SAN通过在运行时切换运行时来实现运行时互操作性。相对于最先进的实现,混合运行时系统允许在基于任务的广义对称特征值求解器上实现两倍的加速。的最终目标AL4SAN不是创建新的运行时,而是加强现有运行时/应用程序的协同设计,同时提高用户生产力和代码可移植性。的代码AL4SAN 可在以下位置免费获得 https://github.com/ecrc/al4san,正在进行扩展。
更新日期:2020-11-01
down
wechat
bug