Hi, my name is Peter Thoman and I’m an Assistant Professor at the
University of Innsbruck, with the Distributed and Parallel Systems group.
My research interests include everything that has to do with achiving
high performance on parallel hardware, with a particular focus on
GPU computing on one end of the spectrum and fine-grained task parallelism
on the other. I’m also very keen on research aiming at improving the programmability/performance
tradeoff, including API design as well as compilers and tool support.
This page provides a short overview of my current projects, teaching,
and some recent publications, with links to more complete information elsewhere.
Research Interests. GPU Computing, Parallel Runtime Systems, Compilers for HPC
Celerity is a high-level C++ API,
closely based on the Khronos SYCL standard, which allows targeting
GPU compute clusters rather than just individual GPUs. The only additional requirement
compared to a normal SYCL program is providing a functor which maps a
kernel’s compute range to its data requirements.
In the background, Celerity maintains data residence information, and constructs
and optimizes task and command graphs for distributing the work in the cluster.
LIGATE is EuroHPC joint undertaking with the central goal of creating
and validating a leading application solution for drug discovery
in High Performance Computing systems up to the exascale level.
In the Insieme project, we explore the possibilities
afforded by using a high-level intermediate compiler representation
inherently designed for parallelism, INSPIRE. Insieme supports C/C++ source code
and several parallelism APIs including OpenMP and Cilk as input,
and generates code targeting its high-performance runtime system.
Together with our project partner Tofmotion
we investigate the potential for parallelization in the field of time-of-flight imaging.
This research ranges from high-end GPU-accelerated simulation to realtime- and
temperature-constrained on-device processing.
A graduate-level course on modern, advanced C++.
Tries to tie together language theory and background with practical advice
for working in large-scale C++ software projects.
Prerequisites: Good understanding of C, familiarity with object-oriented programming.
An introductory course to GPU computing.
Introduces the differences between GPU and CPU hardware, GPU paradigms and APIs,
and discusses how several algorithms can be efficiently parallelized on GPUs.
Prerequisites: Basic C knowledge.
For more in-depth information about my current courses,
please visit the course repository of the University of Innsbruck.
If you have any teaching-related questions, I am available online for consultation weekly each Wednesday from 13:00 to 14:00.
Selected Recent Publications
Peter Thoman, Markus Wippler, Robert Hranitzky, Thomas Fahringer
Fabian Knorr, Peter Thoman, Thomas Fahringer
Herbert Jordan, Philipp Gschwandtner, Peter Thoman, Peter Zangerl,
Alexander Hirsch, Thomas Fahringer, Thomas Heller, Dietmar Fey
Peter Thoman, Philip Salzmann, Biagio Cosenza, Thomas Fahringer
Peter Thoman, Kiril Dichev, Thomas Heller, Roman Iakymchuk,
Xavier Aguilar, et al.
For a complete list of publications, consult my
Google Scholar profile.