Presentation
A Performance Portable Multi-GPU Implementation of 3D Euler Equations using ProtoX and IRIS
DescriptionDomain scientists in the field of computational science often face challenges in developing optimized code for high-performance computing, especially GPUs. Considering the increase of heterogeneity in a node of HPC computing facilities, there is a demand to develop performance portable solutions for the core computation kernels in a scientific library. We demonstrate a
performance portable multi-GPU solution for an implementation of the Euler equations using ProtoX and IRIS. ProtoX is a domain-specific language using a partial differential equation library called Proto as its front end and SPIRAL, a code generation system, in its back end to generate optimized kernels for different architectures. These kernels are orchestrated through the intelligent runtime system --- IRIS to provide portability. Two levels of optimizations within IRIS, namely DAG and task fusion, are explored to efficiently utilize computing resources in a multi-GPU environment. Performance improvement through these optimizations is showcased on AMD and NVIDIA GPUs.
performance portable multi-GPU solution for an implementation of the Euler equations using ProtoX and IRIS. ProtoX is a domain-specific language using a partial differential equation library called Proto as its front end and SPIRAL, a code generation system, in its back end to generate optimized kernels for different architectures. These kernels are orchestrated through the intelligent runtime system --- IRIS to provide portability. Two levels of optimizations within IRIS, namely DAG and task fusion, are explored to efficiently utilize computing resources in a multi-GPU environment. Performance improvement through these optimizations is showcased on AMD and NVIDIA GPUs.