Hybrid CPU-GPU implementation of deflation in the linear solver for lattice QCD
Project reference: 1503
The student will work in the Lattice QCD group of Prof. C. Alexandrou at CaSToRC in Cyprus. The task of the student will be to combine deflation in the open source twisted mass code tmLQCD (https://github.com/etmc/tmLQCD) with the solver component of QUDA (http://lattice.github.io/quda) for the hybrid machine Piz Daint in Switzerland.
The student will write an interface so the eigenvectors produced using the tmLQCD are passed on to QUDA for further GPU computation.
The physics goals of the project is to allow the study of hadron structure using twisted mass fermions with improved statistics at the physical point. The student will be involved in the study of the lower lying spectrum of the Dirac operator within the twisted mass fermion formulation of lattice QCD when a clover term is present. Projecting the low-lying space can lead to a speedup of the Conjugate Gradient (CG) method used to compute the inverse of the Dirac matrix, which is a sparse matrix of billion by billion dimensions for typical lattice QCD computations.
For further details on tmLQCD, please refer to the paper “tmLQCD: a program suite to simulate Wilson Twisted mass Lattice QCD” (http://arxiv.org/abs/0905.3331) and the following presentation (http://www.cyi.ac.cy/cscTalks/111Urbach.pdf).
Project mentor: Giannis Koutsou and Constantia Alexandrou
Site Co-ordinator: Constantia Alexandrou
Knowledge of methods for linear solvers and implementation on state-of-the art supercomputers. Introduction to advanced numerical methods and theoretical approaches used in Particle and Nuclear Physics. The student will also learn advanced hybrid CPU-GPU programming concepts.
Student Prerequisites (compulsory)
Undergraduate degree in Physics with grade above average and good programming experience.
Student Prerequisites (desirable)
Knowledge of Theoretical High Energy Physics; Experience with parallel programming, Experience with GPU programming
Lattice Gauge Theories-Introduction, Heinz J Rothe, World Scientific
- Week 1-2: Introduction to the tmLQCD code and QUDA libraries (theory behind the code, compile and run test cases)
- Week 2-5: Development of code which calls tmLQCD’s ARPACK interface for the calculation of eigenvectors and passes these on to QUDA for analysis
- Week 6-7: Investigation of concurrent hybrid CPU-tmLQCD/GPU-QUDA execution. This could allow for the full utilisation of a Piz Daint node resources
- Week 8: Final report including benchmarking results.
Final Product Description
Improved code. May lead to a publication in a high impact Physics journal.
Adapting the Project – Increasing the Difficulty
Alter code to also allow for reading of eigenvectors from file efficiently.
Adapting the Project – Decreasing the Difficulty
The team has experts who can help the student at all stages of the work. First implementation on Piz Daint will be carried out with the help of experienced researchers who are already running on this machine. Should any difficulties arise, priority will be given towards completing task of week 2-5 beyond this time and starting week 6-7 task if time allows.
Access to Piz Daint will be provided.
Computation-based Science and Technology Research Center, The Cyprus Institute