test: add validated NAO cases to CUDA CI - #7856
Open
GenZeal-Lin wants to merge 1 commit into
Open
Conversation
GenZeal-Lin
force-pushed
the
test/add-nao-gpu-ci
branch
from
August 25, 2026 03:00
8e6e42f to
d7ccb24
Compare
16 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds validated GPU integration tests from
02_NAO_Gammaand03_NAO_multikto the existing CUDA CI workflow.The scope of this PR is intentionally limited to integrating cases that
currently pass on GPU. Cases that are not compatible with the current CUDA CI
configuration, or that currently show a reproducible CPU/GPU output
discrepancy, are retained as commented entries in
CASES_GPU.txtand are notexecuted by this PR. Issues requiring further investigation are tracked
separately.
Changes
tests/02_NAO_Gamma/CASES_GPU.txttests/03_NAO_multik/CASES_GPU.txt.github/workflows/cuda.ymlto run both case lists on GPUdevice gpuat CI runtime only for cases included in the correspondingCASES_GPU.txtINPUTfileNo ABACUS source code, reference data, CPU test configuration, or failing
test cases are modified in this PR.
GPU validation
Local GPU validation was performed on an NVIDIA GeForce RTX 4090 using a
candidate patch based on commit:
0dca9dd7820bea3075e8e670f822269fb6732f18(
Fix: calculate net force after symmetrization (#7846))For the local GPU validation,
device gpuwas injected into the selectedcases'
INPUTfiles at runtime. The GPU build was executed through the localabacus_gpu_timeout.shwrapper.02_NAO_Gamma
The final
CASES_GPU.txtcase set exactly matches the set of directory-levelcases successfully exercised in the GPU validation run.
03_NAO_multik
The final
CASES_GPU.txtcase set exactly matches the set of directory-levelcases successfully exercised in the GPU validation run.
In total, this PR adds 88 validated NAO cases to the CUDA CI path.
The missing-
INPUTfail-fast guard was added after the GPU validation. Itdoes not change the execution path of the validated 88 cases because every
listed case currently contains an
INPUTfile.Cases intentionally not enabled
The following cases are retained as commented entries in the corresponding
CASES_GPU.txtfiles so that the GPU lists preserve the structure of theexisting CPU case lists.
02_NAO_Gamma
scf_FeBiTeks_solver = genelpais not supported for GPU acceleration.scf_metagga(
ENABLE_LIBXC=OFF).03_NAO_multik
scf_u_rampks_solver = genelpais not supported for GPU acceleration.scf_symm_precks_solver = genelpais not supported for GPU acceleration.scf_out_chg_tau(
ENABLE_LIBXC=OFF).relax_cell_vdw4_d4(
ENABLE_DFTD4=OFF).relax_cell_vdw4_d4s(
ENABLE_DFTD4=OFF).scf_out_hsr_spin4hrs1_nao.csroutput retains additional near-zero H(R) entries aroundthe fixed CSR sparse-output threshold, resulting in a different sparsity
pattern.
sr_nao.csrandrr.csrare byte-identical in file-levelcomparisons.
nscf_out_hsr_tr_rrCSR behavior: the GPU
hrs1_nao.csrretains additional near-zero entries.sr_nao.csr,rr.csr, andtrs1_nao.csrare byte-identical infile-level comparisons.
The H(R) CSR discrepancy was reproduced both on the original validation
baseline (
0dca9dd78) and on a laterdeveloprevision (12ecc795f).The observed GPU-only H(R) entries are near the fixed
1e-10sparse-outputthreshold. The upstream source of these near-zero residual values has not yet
been identified.
This behavior is tracked separately in #7860 and is intentionally not
addressed in this PR.
For the SCAN and DFT-D4 cases above, the descriptions only identify the first
confirmed limitation under the tested build configuration. They do not imply
that enabling the corresponding feature would necessarily make those cases
pass without further issues.
Scope
This PR only establishes CUDA CI coverage for currently validated
02_NAO_Gammaand03_NAO_multikcases.It intentionally does not:
ks_solverbehavior;Those issues will be handled separately so that each PR has one focused
objective.