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, A
Membro 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.
2025
308
109439
https://arxiv.org/abs/2412.01695
Gong, Xj; Dal Corso, A
File in questo prodotto:
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.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.11767/146252
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 1
  • ???jsp.display-item.citation.isi??? 1
social impact