Accelerator Support in the Charm++ Parallel Programming Model
The increased popularity of accelerators and heterogeneous systems has naturally lead to their adoption in the realm of high performance computing (HPC). As the name implies, HPC applications are always striving to achieve greater performance, typically to perform scientific simulations, financial predictions, etc. The high peak computation rates (GFlops) of accelerators make them particularly attractive to programmers creating these compute intensive HPC codes. Charm++ is one of several parallel programming models used to develop HPC applications. As we will discuss, we believe that some features of the Charm++ programming model make it well suited for programming heterogeneous clusters as well as clusters with accelerators. We also describe
the various extensions that have been introduced into the Charm++ programming model to add support for accelerators and heterogeneous clusters.