Boosting Tsunami and Heart Modeling Application Performance on a Graphics Processing Unit

Temporary Supervisor

Associate Professor Peter Strazdins


Chaste is a state-of-the-art heart simulation code written in C++. It however is very computationally expensive, as high resolution meshes and small timesteps are required for accurate simulation. Even on state-of-the-art clusters, simulations may require significant run-time. ANUGA is a tsunami propagation modelling code (developed conjointly between the ANU and Geoscience Australia). It similarly is computationally intensive. Its implementation is largely based on Python. The tremendous computing power of General-Purpose Graphics Processing Units (GPGPUs or simply GPUs) have the potential to overcome this problem; however, their efficient programming is a non-trivial exercise.


This project will investigate how selected parts of either application may be implemented an a GPGPU using CUDA or OpenCL. comparing various techniques. In particular, it will involve: setting up and profiling a representative workload; analyzing and isolating kernels which would be fruitful for GPU implementation; implementing these kernels, evaluating their performance. Developing test harnesses for these kernels is highly desirable; this and developing methodologies for this kind of development could be used to strengthen the project's software engineering emphasis.


Note: prior GPU experience is recommended for 12-unit project courses.

Background Literature

Parallelisation of a finite volume method for hydrodynamic inundation modelling, Stephen Gwyn Roberts, Linda Stals, Ole Moller Nielsen, ANZIAM Journal, Vol 48 (2006). Chaste: a test-driven approach to software development for biological modelling. Comp Phys Comm 180:2452-2471, 2009.


GPUs are a hot technology; Chaste and ANUGA are hot applications :). Financial support/travel opportunities may be available for suitably qualified Honoursstudents.

Updated:  1 June 2019/Responsible Officer:  Dean, CECS/Page Contact:  CECS Marketing