Page 1 of 1

Validate the vasp compilation as much as possible without running all tests in testsuite.

Posted: Sat Feb 19, 2022 9:11 am
by hszhao.cn@gmail.com
For vasp.6.3.0, I noticed that there is a huge difference in the number of test examples included in test and test_all, as follows:

Code: Select all

werner@X10DAi-00:~/Public/hpc/vasp/vasp.6.3.0/testsuite/tests$ cd "/home/werner/Public/hpc/vasp/vasp.6.3.0/testsuite/tests"; rg -l 'CATEGORY=.*FAST' |wc -l
77
werner@X10DAi-00:~/Public/hpc/vasp/vasp.6.3.0/testsuite/tests$ ls |wc -l
385
Considering that running all these tests is time-consuming, I want to know whether there are some methods/tips to validate the vasp compilation as much as possible without running all tests in testsuite.

OTOH, I also noticed that there are so many predefined catetories as shown below:

Code: Select all

werner@X10DAi-00:~/Public/hpc/vasp/vasp.6.3.0/testsuite/tests$ rg -I 'CATEGORY=' | awk -F'"' '{print $2}' | tr ' ' '\n' | awk 'NF'| sort -u
ACFDT
BSE
CRPA
DIEL
FAST
GAMMA
GW
HYB
IVDW
KOPT
LREAL
LRESP
LTMP2
MD
ML
NCL
NCORE1
NOCUDA
NOSYM
OPTIC
PEAD
RPA
SOC
TBMD
VASP46
VASP6
WAN90
So, when I run the cpu-based VASP version, how does the make test/test_all command identify gpu-based tests and automatically skip them?

Regards,
HZ

Re: Validate the vasp compilation as much as possible without running all tests in testsuite.

Posted: Mon Feb 21, 2022 8:44 am
by ferenc_karsai
Regarding testsuites:
The users should run the fast test only that is set by default. That is intended to check the features that are supported in the current release. The full test is for developers.
I fear there is no shorter way than the fast test to check if the code is ok.

Regarding GPUs:
In principle all tests are made for both. Each test runs with the CPU. The GPU part depends on the feature that is ported or not. The current VASP is ported via OPENACC to GPU. If the port for a given feature is missing (or that feature is partially ported only) than the code should still run but that part of the code would be simply run on CPU.