Persistent Asynchronous Adaptive Specialization for Generic Array Programming

Open Access
Authors
Publication date 04-2019
Journal International Journal of Parallel Programming
Volume | Issue number 47 | 2
Pages (from-to) 164-183
Organisations
  • Faculty of Science (FNWI) - Informatics Institute (IVI)
Abstract
Generic array programming systematically abstracts from structural array properties such as shape and rank. As usual, generic programming comes at the price of lower runtime performance. The idea of asynchronous adaptive specialization is to exploit parallel computing facilities to reconcile these conflicting objectives through the continuous adaptation of running applications to the ranks and shapes of their arrays. A key parameter for the effectiveness of our approach is the time it takes from requesting a certain specialization until its availability to the running application. We describe the ins and outs of a persistence layer that keeps specialized variants in a repository for future use and thus effectively reduces the average waiting time for re-compilation to nearly zero. A number of critical issues that, among others, stem from the interplay between function specialization and function overloading catch our special attention. We describe the solutions adopted and illustrate the benefits of persistent asynchronous adaptive specialization by a series of experiments.
Document type Article
Language English
Related publication Persistent Asynchronous Adaptive Specialisation for Generic Array Programming
Published at https://doi.org/10.1007/s10766-018-0567-9
Downloads
Permalink to this page
Back