Course 9: High-performance computing and computational tools for nuclear physics
Motivation and background.
The course aims at presenting high-performance computing topics applied to several problems in nuclear physics. The high-performance computing topics focus on writing parallel algorithms for present supercomputers and for graphical processing units. These techniques will be explained together with the algorithms behind a given approach. Not all approaches can be addressed in one course. The topics we have selected are Monte Carlo methods and large-scale diagonalization techniques. Monte Carlo methods require in general little communication during execution and are viewed as rather easy to parallelize. Large-scale diagonalization techniques on the other hand require large amounts of memory and communication between various processes. In this way the students get exposed to central problems in high-performance computing. These high-performance computing tools and the algorithms used can easily be transferred to other fields of science.
1. Monte Carlo methods and efficient parallelization of these
1.1. Parallelization with MPI of Monte Carlo integration
1.2. GPU programming of Monte Carlo integration
1.3. Variational Monte Carlo and choice of trial wave function
1.4. Efficient implementation of trial wave functions
1.5. Parallelization of the variational Monte Carlo approach
1.6. Error estimation using the blocking technique
1.7. Implementing diffusion Monte Carlo for fermions
1.8. Discussion of the fixed node approach.
2. Large-scale diagonalization problems
2.1. Physics of configuration interaction approaches, shell-model effective spaces and no-core
2.2. Mathematical properties of diagonalization techniques, QR based methods and Krylov
(Lanczos) iterative techniques
2.3. Efficient computer representation of wave functions and Hamiltonians
2.4. How to parallelize iterative eigenvalue methods
2.5. Parallelizing Lanczos' algorithm for shell-model calculations.
The students will end up with programs for solving quantal many-body systems using modern high-perfomance computing tools. There are obviously other methods for solving few and many-body problems. Due to time constraints it is not possible to cover more than two to three central methods in one course. However, other methods based on solving integral equations, integro-differential equations and partial differential equations can be addressed if enough students are interesting.
Syllabus of 30+30+60 hours (lectures+exercises+work on projects).