We explore the diagonalization methods used in the PWscf (Plane-Wave Self Consistent Field), a key component of the Quantum ESPRESSO open-source suite of codes for materials modelling. For the high performance of the iterative diagonalization solvers, two solutions are proposed. Projected Preconditioned Conjugate Gradient (PPCG) method as an alternative diagonalization solver and Porting of existing solvers to GPU systems using CUDA Fortran.
Kernel loop directives (CUF kernels) have been extensively used for the implementation of Conjugate Gradient (CG) solver for general k-point calculations to have a single source code for both CPU and GPU implementations. The results of the PPCG solver for Γ-point calculation and the GPU version of CG have been carefully validated, and the performance of the code on several GPU systems have been compared with Intel multi-core (CPU only) systems. Both of these choices reduce the time to solution by a considerable factor for different input cases which are used for standard benchmarks using QE package.