Button Text
Back

P09 - Efficient Execution of Multiphysics Simulation Assembly Using Kokkos::Graph

This is some text inside of a div block.
This is some text inside of a div block.
-
This is some text inside of a div block.
CEST
Climate, Weather and Earth Sciences
Chemistry and Materials
Computer Science, Machine Learning, and Applied Mathematics
Applied Social Sciences and Humanities
Engineering
Life Sciences
Physics
This is some text inside of a div block.

Description

The computation of elemental system matrices and right-hand-side vectors and their assembly into sparse linear algebra data structures is a key component of many multiphysics simulation codes. When the assembly involves multiple types of governing equations that might also change by subdomain (heterogeneous coefficients, different source terms, different types of boundary conditions, …), using a single computational kernel can lead to inefficient performance and memory footprint. Therefore, one may want to specialize the kernels, thus generating many kernels that need to be created and efficiently scheduled, potentially many times (e.g., iterative solver). These asynchronous kernels must also observe dependencies, thus naturally leading to a graph-based implementation. In this poster, we will present how we realised such an implementation in an in-house multiphysics FEM code using Kokkos::Graph. In particular, we will discuss how we designed a polymorphic hierarchy of functors for performing the assembly on device and how we map these functors to nodes in the graph, while avoiding polymorphic calls on device. We will illustrate the proposed approach and evaluate the performance in the context of a computational electromagnetism simulation relevant to diffraction gratings.

Presenter(s)

Presenter

Maarten
Arnst
-
University of Liège

Maarten Arnst is currently associate professor in the Department of Aerospace and Mechanical Engineering at the University of Liège. His research interests are in computational and stochastic modelling.

Authors