Skip to content

fix(audit): accept NVPL as the NVHPC BLAS on aarch64 - #34

Open
robTheBuildr wants to merge 1 commit into
SemiAnalysisAI:masterfrom
robTheBuildr:roblevy/nvhpc-aarch64-nvpl-blas
Open

robTheBuildr wants to merge 1 commit into
SemiAnalysisAI:masterfrom
robTheBuildr:roblevy/nvhpc-aarch64-nvpl-blas

Conversation

@robTheBuildr

@robTheBuildr robTheBuildr commented Oct 8, 2026 •

Copy link
Copy Markdown

Fixes #32.

Changes

  • On aarch64, the NVHPC component check requires NVIDIA Performance Libraries (libnvpl*.so*) in place of libopenblas.so*. The aarch64 SDK links compilers/lib/libblas.so and liblapack.so to NVPL and ships only the OpenBLAS headers and licence.
  • On other architectures, the check does not change.

Tests

  • tests/audit/test_nvhpc_validation.py: the collector tests set the architecture through a uname stub. New tests:
    • an aarch64 release with NVPL and no OpenBLAS is complete;
    • an aarch64 release without NVPL reports nvpl as missing;
    • an x86_64 release without OpenBLAS reports openblas as missing.
  • Audit suite: 1,315 passed, 9 skipped. One test fails (test_security_cli.py::MinimumRefreshTests::test_read_only_install_says_so_and_keeps_the_table). It also fails on unchanged master in the same environment.
  • Live: on a GB300 node with NVHPC 26.5, the master collector reports COMPONENTS_MISSING=openblas. This branch reports COMPONENTS_OK=true and COMPONENTS_MISSING=none.
  • git diff --check passed.

Limits

I checked the NVHPC 26.5 aarch64 layout only.


Note

Low Risk
Audit validation logic only; aarch64 nodes stop false-failing on missing OpenBLAS when NVPL is present, with no change to x86_64 behavior.

Overview
The NVHPC component completeness check in host-check.sh no longer always requires OpenBLAS. On aarch64 it expects NVPL (libnvpl*.so*) because that SDK layout uses NVIDIA Performance Libraries for BLAS/LAPACK; on other architectures it still requires libopenblas.so*. Missing components continue to surface as WORKER_NVHPC_COMPONENTS_MISSING (e.g. nvpl vs openblas).

Collector tests build arch-specific SDK trees (Linux_x86_64 / Linux_aarch64), stub uname -m so results are host-independent, and add cases for aarch64 with NVPL (pass), aarch64 without NVPL, and x86_64 without OpenBLAS.

Reviewed by Cursor Bugbot for commit 058c80f. Bugbot is set up for automated code reviews on this repo. Configure here.

The aarch64 NVIDIA HPC SDK ships NVIDIA Performance Libraries in place of
OpenBLAS. compilers/lib/libblas.so and liblapack.so link to NVPL, and only the
OpenBLAS headers and licence remain, so a complete aarch64 release reported
"missing components openblas". Require NVPL on aarch64 and OpenBLAS on other
architectures. The collector tests now pin the architecture.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

NVHPC check reports openblas missing on aarch64 SDK releases

1 participant