We present an alternative GPU acceleration for plane waves pseudopotentials electronic structure codes designed for systems that have small unit cells but require a large number of k points to sample the Brillouin zone as happens, for instance, in metals. We discuss the diagonalization of the Kohn and Sham equations and the solution of the linear system derived in density functional perturbation theory. Both problems take advantage from a rewriting of the routine that applies the Hamiltonian to the Bloch wave-functions to work simultaneously (in parallel on the GPU threads) on the wave-functions with different wave-vectors k, as many as allowed by the GPU memory. Our implementation is written in CUDA Fortran and makes extensive use of kernel routines that run on the GPU (GLOBAL routines) or can be called from inside the GPU kernel (DEVICE routines). We compare our method with the CPUs only calculation and with the approach currently implemented in Quantum ESPRESSO that uses GPU accelerated libraries for the FFT and for the linear algebra tasks such as the matrix-matrix multiplications as well as OpenACC directives for loop parallelization. We show in a realistic example that our method can give a significant improvement in the cases for which it has been designed.
An alternative GPU acceleration for a pseudopotential plane-waves density functional theory code with applications to metallic systems / Gong, Xj; Dal Corso, A. - In: COMPUTER PHYSICS COMMUNICATIONS. - ISSN 0010-4655. - 308:(2025). [10.1016/j.cpc.2024.109439]
An alternative GPU acceleration for a pseudopotential plane-waves density functional theory code with applications to metallic systems
Dal Corso, AMembro del Collaboration group
2025-01-01
Abstract
We present an alternative GPU acceleration for plane waves pseudopotentials electronic structure codes designed for systems that have small unit cells but require a large number of k points to sample the Brillouin zone as happens, for instance, in metals. We discuss the diagonalization of the Kohn and Sham equations and the solution of the linear system derived in density functional perturbation theory. Both problems take advantage from a rewriting of the routine that applies the Hamiltonian to the Bloch wave-functions to work simultaneously (in parallel on the GPU threads) on the wave-functions with different wave-vectors k, as many as allowed by the GPU memory. Our implementation is written in CUDA Fortran and makes extensive use of kernel routines that run on the GPU (GLOBAL routines) or can be called from inside the GPU kernel (DEVICE routines). We compare our method with the CPUs only calculation and with the approach currently implemented in Quantum ESPRESSO that uses GPU accelerated libraries for the FFT and for the linear algebra tasks such as the matrix-matrix multiplications as well as OpenACC directives for loop parallelization. We show in a realistic example that our method can give a significant improvement in the cases for which it has been designed.File | Dimensione | Formato | |
---|---|---|---|
1-s2.0-S001046552400362X-main.pdf
non disponibili
Descrizione: pdf editoriale
Tipologia:
Versione Editoriale (PDF)
Licenza:
Non specificato
Dimensione
963.79 kB
Formato
Adobe PDF
|
963.79 kB | Adobe PDF | Visualizza/Apri Richiedi una copia |
2412.01695v1.pdf
accesso aperto
Descrizione: File contenuto nell'archivio arXiv
Tipologia:
Documento in Pre-print
Licenza:
Non specificato
Dimensione
645.95 kB
Formato
Adobe PDF
|
645.95 kB | Adobe PDF | Visualizza/Apri |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.