GPU Code Generation of Cardiac Electrophysiology Simulation with MLIR
Résumé
We show the benefits of the novel MLIR compiler technology to the generation of code from a DSL, namely EasyML used in openCARP, a widely used simulator in the cardiac electrophysiology community. Building on an existing work that deeply modified open-CARP's native DSL code generator to enable efficient vectorized CPU code, we extend the code generation for GPUs (Nvidia CUDA and AMD ROCm). Generating optimized code for different accelerators requires specific optimizations and we review how MLIR has been used to enable multi-target code generation from an integrated generator. Experiments conducted on the 48 ionic models provided by openCARP show that the GPU code executes 3.17× faster and delivers more than 7× FLOPS per watt than the vectorized CPU code, on an Nvidia A100 GPU versus a 36-cores AVX-512 Intel CPU.
Fichier principal
2023_EuroPar_ODE_to_MLIR_to_GPU_Optimized_code (1).pdf (611.75 Ko)
Télécharger le fichier
Origine | Fichiers produits par l'(les) auteur(s) |
---|