This project has successfully implemented OpenMP parallelism in many key routines of CP2K, allowing the code to be run effectively in a mixed-mode OpenMP/MPI manner. We believe this programming model is very appropriate for applications on modern multi-core HPC systems such as HECToR. This is demonstrated by improvements in the peak performance of the code as well as improved scalability compared to what is possible using only MPI. These benefits have already been delivered for HECToR users, as the centrally installed version of the code has been updated to include these changes, which are also available via the CP2K CVS repository.
Looking to the future, larger systems of thousands of atoms are now of interest to researchers using CP2K, and such calculations are mainly dominated by sparse linear algebra operations using the DBCSR library. We have been successful in obtaining a further six months of dCSE funding which will allow us to build on this work by optimising the usage of both MPI and OpenMP within DBCSR, delivering even better performance for the CP2K user community.