Copyright Notice:

The documents distributed by this server have been provided by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a noncommercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

Publications of SPCL

T. Grosser, T. Hoefler:

 Polly-ACC: Transparent compilation to heterogeneous hardware

(In Proceedings of the the 30th International Conference on Supercomputing (ICS'16), Jun. 2016)


Publisher Reference

Abstract

Programming today's increasingly complex heterogeneous hardware is difficult, as it commonly requires the use of data-parallel languages, pragma annotations, specialized libraries, or DSL compilers. Adding explicit accelerator support into a larger code base is not only costly, but also introduces additional complexity that hinders long-term maintenance. We propose a new heterogeneous compiler that brings us closer to the dream of automatic accelerator mapping. Starting from a sequential compiler IR, we automatically generate a hybrid executable that - in combination with a new data management system - transparently offloads suitable code regions. Our approach is almost regression free for a wide range of applications while improving a range of compute kernels as well as two full SPEC CPU applications. We expect our work to reduce the initial cost of accelerator usage and to free developer time to investigate algorithmic changes.

Documents

download article:
download slides:
 

BibTeX

@inproceedings{polly-acc,
  author={Tobias Grosser and Torsten Hoefler},
  title={{Polly-ACC: Transparent compilation to heterogeneous hardware}},
  year={2016},
  month={06},
  booktitle={Proceedings of the the 30th International Conference on Supercomputing (ICS'16)},
}