Show simple item record

dc.contributor.authorAlomairy, Rabab
dc.contributor.authorLtaief, Hatem
dc.contributor.authorAbduljabbar, Mustafa
dc.contributor.authorKeyes, David
dc.date.accessioned2019-09-05T13:45:29Z
dc.date.available2019-09-05T13:45:29Z
dc.date.issued2019-09-02
dc.identifier.urihttp://hdl.handle.net/10754/656693
dc.description.abstractWe 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 an 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 possibly hardware accelerator-equipped systems. 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%) 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.
dc.relation.urlhttps://github.com/ecrc/al4san
dc.rightsCC0 1.0 Universal
dc.rights.urihttp://creativecommons.org/publicdomain/zero/1.0/
dc.subjectTask-Based Programming Model, Dynamic Runtime Systems, Abstraction Layer, API Standardization, User Productivity, LLVM Compiler Infrastructure, Runtime Interoperability.
dc.titleAbstraction Layer For Standardizing APIs of Task-Based Engines
dc.typeTechnical Report
dc.contributor.departmentComputer, Electrical and Mathematical Science and Engineering Division (CEMSE)
dc.contributor.institutionExtreme Computing Research Center (ECRC)
refterms.dateFOA2019-09-05T00:00:00Z


Files in this item

Thumbnail
Name:
al4san_tpds.pdf
Size:
2.881Mb
Format:
PDF
Description:
Main article

This item appears in the following Collection(s)

Show simple item record

CC0 1.0 Universal
Except where otherwise noted, this item's license is described as CC0 1.0 Universal