Presentation

DDC, a Performance Portable Library Abstracting Computation on Discrete Domains
DescriptionMany scientific codes only rely on the features provided by programming languages and low-level parallel libraries. This results in complex codes where three fundamental aspects are interleaved: numerical schemes, parallel algorithms and architecture-specific performance optimizations. Although all these aspects are necessary, they all appear at the same level and make code maintenance and evolution difficult. This is illustrated by the advent of GPUs that has required huge porting efforts, up to the complete rewriting of codes from scratch.
Performance portability can be achieved by developing new abstractions that encode and separate concerns in libraries to reduce the complexity in the codes themselves. In this talk, we introduce DDC, a library that offers abstractions dedicated to scientific computing based on the notions of discretization and domain decomposition. In addition to standard discretizations (uniform/non-uniform meshes) provided by the library, the user can define new discrete spaces (examples: Fourier space, polynomial space…) and allocate data over these spaces. The library also supports iteration over all elements of the discrete spaces, or sub-domain of these to implement numerical schemes. This is achieved in parallel and is portable thanks to the Kokkos library.
SlidesPDF
TimeMonday, June 2713:30 - 14:00 CEST
LocationDarwin Room
Event Type
Minisymposium
Domains
Computer Science and Applied Mathematics
Engineering
Physics