Load balancing and precision analysis for cardiac simulation M2 Internship report
Résumé
The goal of this internship is to adapt a code generator for cardiac simulation to modern heterogeneous architectures. To achieve this we switched the code structure to use task-based parallelism using StarPU to enable better handling of heterogeneity. This led us to lay the ground for the future heterogeneous version of the cardiac simulation. We also performed precision analysis with Verificarlo on the generated code to analyze the possibilities of using mixed precision for better performance and energy consumption. We explored the effects of switching floating-point precision on the accuracy of the simulation using Verificarlo, either by changing the precision on the whole simulation, only some function, or only during some iteration. We found out that some cardiac ionic models may be converted to lower precisions without impacting accuracy too much, but also that we could change precision only on the less active part of the computation to reduce the impact on accuracy. We also proposed a way to choose the resolution of lookup tables using precision analysis.
Domaines
Informatique [cs]
Fichier principal
Load balancing and precision analysis for cardiac simulation.pdf (1.19 Mo)
Télécharger le fichier
Origine | Fichiers produits par l'(les) auteur(s) |
---|