101 - NHR Perflab Seminar 2025-10-14: Code Generation Technology for HPC Codes: Case Studies on waLBerla and HyTeG [ID:60638]
50 von 1011 angezeigt

As you see already

of course

this is joint work with many

especially PhD students at

our chair, but also beyond our chair.

We have a lot of collaborations.

So I mentioned here,

hopefully the most important ones

but not all of them that contributed to our work.

So a very short introduction to what we are doing.

Our chair is active in the field of

computational science and engineering

and therein we are

as Jörg has already mentioned

focusing on the computer science part.

And especially today, I will talk about what we

do in the software design and also optimization area and specifically code generation.

So this is of course a very specific area that we are tackling

and that means I have to set

kind of the ground.

So first of all, our main work is the development of software frameworks.

So that typically run on HPC clusters. So that's kind of the frame we are within.

So we want to write software for large scale systems.

And more specifically, we concentrate

on usually block structured data accesses

block structured grids

and deal with

multi-physics applications.

Main issues are here, of course, to get the best performance

on a certain system.

And this is also our main motivation for the code generation,

as I will show you on the next slide.

Because in principle, what do we use code generation for?

We use it to get the search space complexity handled that is introduced usually by a lot

of different choices that you have to take when you deal with multi-physics simulations.

So

besides the model, of course, the discretization, the solver, the platform, maybe an AI.

So there's

a lot of things that you have to choose.

And from all of these variants, you then want to produce,

of course

the best time to solution or also maybe the minimal energy consumption code.

So that means what is now code generation for us

it's basically the process of producing code

that we can then use to execute on a certain platform.

So how does this look in more detail?

So if you look at this overview here of the process

then typically we start with an abstract

close to mathematical representation of our problem.

So standard problem is here, for example,

Teil einer Videoserie :
Teil eines Kapitels:
NHR@FAU PerfLab Seminar

Zugänglich über

Offener Zugang

Dauer

01:04:08 Min

Aufnahmedatum

2025-10-14

Hochgeladen am

2025-11-11 14:05:05

Sprache

en-US

Speaker: Prof. Dr. Harald Köstler, AI division lead, Erlangen National High Performance Computing Center

Slides

Abstract:
Modern High-Performance Computing (HPC) applications demand ever-increasing performance across diverse and evolving hardware architectures. Manually optimizing complex numerical algorithms for these heterogeneous systems is a significant challenge. Code generation technology offers a powerful solution by automatically producing highly optimized code from high-level descriptions. In this talk, we will explore the practical application of code generation in two HPC frameworks: waLBerla and HyTeG. We demonstrate how code generation enables efficient performance portability, reduces development effort, and facilitates the exploration of different optimization strategies.

For a list of past and upcoming NHR PerfLab seminar events, please see: 
https://hpc.fau.de/research/nhr-perflab-seminar-series/
Einbetten
Wordpress FAU Plugin
iFrame
Teilen