SYCL* Kernels from ExaHyPE within a Multitasked Simulation Environment


Classic task parallelism is not a direct fit to SYCL* (and GPUs in general) as tasks are often tiny without further nested parallelism. When a task is deployed to a GPU, it is expected to exploit the accelerator’s hardware concurrency and to be reasonably large. The ExaHyPE project works with tiny tasks, but not all tasks are deployed directly to the SYCL queue. Instead, they're buffered in application-specific queues. If many appropriate tasks assemble within this queue, they are merged into one large metatask, and then the metatask is deployed to the GPU. The metatask can then exploit multiple levels of concurrency and is reasonably expansive.



Tobias Weinzierl is a professor in high-performance computing (HPC) in the Department of Computer Science at Durham University. After studying computer science with a minor in math, he obtained a Dr. rer. nat. (German PhD) and a habilitation (venia legendi) in computer science from Technische Universität München.

Tobias is interested in efficient ways to translate state-of-the-art algorithms (multigrid, higher-order DG or SPH formalisms) into fast code that fits to modern architectures, and how to create performance-portable algorithms and code. Where possible, his work feeds into open source software.