Modeling Irregular Kernels of Task-based codes: Illustration with the Fast Multipole Method
Emmanuel Agullo, Bérenger Bramas, Olivier Coulaud, Luka Stanisic, Samuel Thibault · HAL (Le Centre pour la Communication Scientifique Directe) · 2017
The significant increase of the hardware complexity that occurred in the last few years led the high performance community to design many scientific libraries according to a task-based parallelization. The modeling of the performance of the individual tasks (or kernels) they are composed of is crucial for facing multiple challenges as diverse as performing accurate performance predictions, designing robust scheduling algorithms, tuning the applications, etc. Fine-grain modeling such as emulation and cycle-accurate simulation may lead to very accurate results. However, not only their high cost may be prohibitive but they furthermore require a high fidelity modeling of the processor, which makes them hard to deploy in practice. In this paper, we propose an alternative coarse-grain, empirical methodology oblivious to both the target code and the hardware architecture, which leads to robust and accurate timing predictions. We illustrate our approach with a task-based Fast Multipole Method (FMM) algorithm, whose kernels are highly irregular, implemented in the \scalfmm library on top of the starpu task-based runtime system and the simgrid simulator.