CUDA-C GPU port of VASP: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{NB|warning|As of VASP.6.3.0, the CUDA-C GPU port of VASP is deprecated. Switch to [[OpenACC GPU port of VASP|the OpenACC GPU port of VASP]].}}
Several core algorithms of VASP have been ported to run on GPU-accelerated hardware (as of VASP.5.4.1.05Feb16).
Several core algorithms of VASP have been ported to run on GPU-accelerated hardware (as of VASP.5.4.1.05Feb16).


Line 30: Line 32:


=== Building ===
=== Building ===
* See [[Installing VASP]] and do not forget the [[Installing VASP#For vasp.5.4.1.05Feb16 (with GPU support)|patch(es)]].


=== Running ===
=== Running ===
Line 60: Line 63:
[[Installing_VASP|Installing VASP]]
[[Installing_VASP|Installing VASP]]
----
----
[[The_VASP_Manual|Contents]]


[[Category:VASP]][[Category:GPU]][[Category:Installation]]
[[Category:VASP]][[Category:Performance]][[Category:GPU]][[Category:Installation]]

Latest revision as of 08:27, 20 October 2023

Warning: As of VASP.6.3.0, the CUDA-C GPU port of VASP is deprecated. Switch to the OpenACC GPU port of VASP.

Several core algorithms of VASP have been ported to run on GPU-accelerated hardware (as of VASP.5.4.1.05Feb16).

Explicity ported to run on GPU-accelerated hardware
  • Electronic minimisation: the blocked-Davidson and RMM-DIIS algorithms (ALGO= Normal, Fast, and VeryFast).
  • Hybrid functionals: the action of the Fock-exchange potential on the wave functions (LHFCALC=.TRUE.).
Unsuported (for now)
  • LREAL=.FALSE. is currently unsuported . The GPU port of VASP requires the use of real-space-projection operators (i.e., LREAL= Auto | .TRUE.).
  • LCALCEPS=.TRUE.
  • NCORE ≠ 1 (or equivalently: NPAR#of-MPI-ranks / KPAR) is not supported at the moment. The GPU port of VASP requires NCORE=1 (default).
  • Using scaLAPACK for the orthonormalization of the wave functions is not supported by the GPU port of VASP. Actually, this particular operation has been ported to the GPU (just not by means of scaLAPACK). If you have compiled your code with -DscaLAPACK you have to set:
LSCAAWARE = .FALSE.
in your INCAR to avoid the use of scaLAPACK for the orthonormalization of the wave functions.
  • The gamma-only version of VASP has not been ported to GPU (yet).


N.B.: The GPU port of VASP is freely available to VASP5-licensees.

Hardware/Software requirements

Hardware requirements

Required GPU Architecture is Kepler or newer:

  • Tesla K40 or Tesla K80, with 12 and 24 GB memory respectively, are strongly recommended
  • Tesla K20 and Tesla K20X, with 5 GB and 6 GB respectively, may run out of memory on larger problems

Recommended software stack

  • CUDA toolkit, newer is better but anything >=6.5 should work

Usage

Building

Running

People

The GPU port of VASP only exist because of the excellent work of the following people:

  • Maxwell Hutchinson (University of Chicago) and Mike Widom (Carnegie Mellon)
  • Xavier Rozanska and Paul Fleurat-Lessard (ENS-Lyon)
  • Mohamed Hacene, Ani Anciaux-Sedrakian, Diego Klahr, and Thomas Guignon (IFPEN)
  • Jeroen Bedorf, Przemyslaw Tredak, Dusan Stosic, Arash Ashari, Paul Springer, Darko Stosic, Christoph Angerer, and Sarah Tariq (NVIDIA)

Publications

Additional information

Related Tags and Sections

ALGO, LHFCALC, LREAL, LCALCEPS, Installing VASP