Tensor cores: Useful for simulating the heart too?
Nvidia's newest tensor cores that are available on the latest A100 GPUs are expected to greatly accelerate deep machine learning workloads. This master project, however, wants to investigate whether these latest tensor cores can also be used for physics-based simulations, with cardiac modeling as the target domain.
An illustrating slide from Nvidia about tensor cores on the Volta architecture. (The latest tensor cores on the Ampere architecture are even better.)
The tensor cores that are available on three of Nvidia's latest GPU architectures (Volta, Turing, Ampere) are known to suit particularly well for accelerating deep machine learning computations. The tensor cores on the latest Nvidia A100 GPUs are especially interesting because they also support double-precision floating-point operations, which are essential for physics-based simulations.
However, efficiently using tensor cores to carry out physics-based computations is non-straightforward. For one thing, the data structures need to be organised into small "square patches". This can be a cumbersome task for realistic simulation code, to say the least. Another question is whether some of the computations can be done in lower precisions (32-bit or even 16-bit), which are the main operation types that are targeted by the tensor cores. This master project thus wants to investigate two topics: (1) How to (partially) re-organise the data structures of a physics-based simulator to suit the tensor cores? (2) How to identify and then re-program the parts of a physics-based simulator that can use single- or half-precision, thereby achieving better utilisation of the tensor cores through so-called mixed-precision computations.
The master student is expected to work closely with the supervisors to research about the two topics. In particular, existing simulators that have been used to study the electrical activities in the heart will be used. These biology-based simulators are representative for many other physics-based computations. The overall objective is to find out whether, and if yes how much, acceleration can be delivered by the tensor cores, in comparison with not using them (which is the conventional approach).
The eX3 infrastructure, which has in total twelve A100 GPUs (two variants), as well as sixteen V100 GPUs, will be used as the hardware testbed. A comparison between the A100 and V100 GPUs, with respect to the applicability for physics-based simulations, will also be included in the master project.
The master student will, through the master project work, become proficient in technical programming. Specifically, the student will acquire advanced knowledge in GPU programming, code optimisation, parallelisation, and fundamental algorithms for numerically simulating cardiac electrophysiology.
Good programming skills are required before starting the master project. The master student is also expected to be interested in learning new knowledge under close interactions with the supervisors.