Domain Specific Languages for High Performance Computing
Universitat Politecnica de Catalunya (UPC) – BarcelonaTech
Universitat Politecnica de Catalunya, 2013
@article{fernandez2013domain,
title={Domain Specific Languages for High Performance Computing},
author={Fern{‘a}ndez Su{‘a}rez, Alejandro},
year={2013},
publisher={Universitat Polit{‘e}cnica de Catalunya}
}
High Performance Computing (HPC) relies completely on complex parallel, heterogeneous architectures and distributed systems which are hard and error-prone to exploit, even for HPC specialists. Further and further knowledge on runtime systems, dependency tracking, memory transaction optimization and many other techniques are a must-have requirement to produce high quality software capable of exploiting every single bit of power an HPC system has to o er. On the other hand, domain experts like geologists or biologists are usually not technology-aware enough to produce the best software for these complex systems. Nowadays, the only way to successfully exploit an HPC system requires that computer and domain experts work closely towards producing applications to solve domain problems. Domain experts have the knowledge on the domain algorithms, while computer experts know how to efficiently map these algorithms on HPC systems. This project proposes a framework that eases most of the processes related to the production of Domain Specific Languages (DSLs) that run on top of accelerator-based heretogeneous architectures. By using DSLs, domain experts can develop their applications using their own high level language, focusing only on their hard-enough issues. Meanwhile, computer experts stay only improving the implementation of these DSLs to make the most out of an HPC platform. This way, we keep each expert focused as much as possible on its natural domain of expertise.
July 30, 2013 by hgpu