Thesis Open Access
Prof. Dr. Wolfgang E. Nagel; Dr. Michael Bussmann; Dr. Guido Juckeland; Dr. Andreas Knüpfer; Dr. Bernd Trenkler
The alpaka library defines and implements an abstract hierarchical redundant parallelism model. This model exploits parallelism and memory hierarchies on a node at all levels available in current hardware. This allows to achieve portability of performant codes across various types of accelerators by ignoring specific unsupported levels and utilizing only the ones supported on a specific accelerator. All hardware types (multi- and many-core CPUs, GPUs and other accelerators) are treated and can be programmed in the same way. The C++ template interface provided allows for straightforward extension of the library to support other accelerators and specialization of its internals for optimization.