The Sparse Grid Combination Technique (SGCT) has been shown to improve the performance-accuracy tradeoff of a range of scientific applications. Recently, it also has been shown to make such applications fault-tolerant. Thus it has great potential in making the ultra-large scale simulation needed to make advances in computational science.
The central ingredient of this method is a highly scalable (parallel) SGCT algorithm. Codes for such an algorithm, written in C++, have recently been developed at the ANU. The ParSGCT project webpage contains these codes and links to the relevant papers. However, there are a number of ways these codes could be extended and improved.
The goals of this project are to extend and improve these codes.
The main one is to extend the codes to work on 4-dimensional data (they currently work on 2D or 3D data). This involves non-trivial software engineering and, in places, exceptionally challenging algorithm design (you can visualize an algorithm relatively easily in 2D, with more difficulty in 3D, but what about 4D?).
The second one is to optimize the algorithm to use more processors in its second stage. Currently, if p is the number of processors, its uses the largest power of 2 <= p. This leads to a performance loss from 0 to 50%, which is avoidable.
Any other way to improve the codes will be welcome!
Strong programming skills. Some experience in parallel algorithms, especially using the Message Passing Iinferface (MPI), is recommended (i.e. COMP4300!).
See the ParSGCT web page.
high performance computing, parallel computing, PDE solvers, sparse grid combination technique, algorithm-based fault tolerance