Skip to content

CMake: migrate cuSolverMp feature definitions after #7671 - #7697

Merged
mohanchen merged 1 commit into
deepmodeling:developfrom
Stardust0831:fix/cusolvermp-cmake-7671
Jul 29, 2026
Merged

CMake: migrate cuSolverMp feature definitions after #7671#7697
mohanchen merged 1 commit into
deepmodeling:developfrom
Stardust0831:fix/cusolvermp-cmake-7671

Conversation

@Stardust0831

Copy link
Copy Markdown

Reminder

  • I have read AGENTS.md and docs/developers_guide/agent_governance.md.
  • I have linked an issue or explained why this PR does not need one.
  • I have added adequate unit tests and/or case tests, or explained why not.
  • I have listed the exact verification commands run and their results.
  • I have described user-visible behavior changes, including INPUT parameter changes.
  • I have explained core-module impact for ESolver, HSolver, ElecState, Hamilt, Operator, Psi, or other source/ changes.
  • I have requested any needed governance exception below.

Linked Issue

No separate issue is needed because this is a focused CMake regression introduced by #7671 with a known cause, a minimal fix, and before/after validation evidence.

Unit Tests and/or Case Tests for my changes

  • Commands run: python3 tools/03_code_analysis/agent_governance_check.py --base upstream/develop --head HEAD --format text; git diff --check upstream/develop..HEAD; a repository search for stale abacus_add_feature_definitions calls; and a stable patch-id comparison against validated commit 320bf1709.
  • Result summary: the governance check reported no findings, the diff check passed, no stale helper calls remain, and the current commit has the same stable patch ID as 320bf1709. Fork run 30249299891 configured, built, and installed ABACUS successfully with this patch and passed the 1-GPU, 2-GPU, and 4-GPU test groups.
  • Regression evidence: fork run 30238875596 failed during configuration because SetupCuSolverMp.cmake called the helper removed by CMake: Refactor feature build requirements into source/CMakeLists.txt #7671.
  • Checks not run, with reason: a fresh local CMake configuration was attempted but cmake is not installed in the local environment; the available Docker CLI cannot access the Docker daemon. The dependency-complete SAI run above provides the end-to-end configuration and build evidence.

What's changed?

  • Remove the remaining abacus_add_feature_definitions calls from the cuSolverMp and cuBLASMp setup modules.
  • Add __CUSOLVERMP, __CUBLASMP, and __USE_CAL to the centralized feature-definition list introduced by CMake: Refactor feature build requirements into source/CMakeLists.txt #7671, preserving the original option and backend conditions.
  • Restore cuSolverMp-enabled CMake configuration without reintroducing the removed global helper.

Governance Notes

  • INPUT/docs changes: none; this change restores build configuration and does not change INPUT behavior or user-facing interfaces.
  • Core module impact: none; no C++ implementation or core-module interface is changed.
  • Exceptions requested: none.

@Stardust0831

Copy link
Copy Markdown
Author

_use_cal is not a user option. It is set to ON when the detected cuSolverMp version is older than 0.7.0 and exported with PARENT_SCOPE before source/CMakeLists.txt is processed. In that case, the expression becomes $<$<BOOL:ON>:__USE_CAL>, so __USE_CAL is included in the target compile definitions. Our SAI environment uses cuSolverMp 0.9.0, so it validates the NCCL path rather than an actual CAL build.

@mohanchen mohanchen added the Compile & CICD & Docs & Dependencies Issues related to compiling ABACUS label Jul 29, 2026
@mohanchen

Copy link
Copy Markdown
Collaborator

Thanks for your contribution!

@mohanchen
mohanchen merged commit b18c11c into deepmodeling:develop Jul 29, 2026
17 checks passed
@Stardust0831
Stardust0831 deleted the fix/cusolvermp-cmake-7671 branch July 29, 2026 05:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Compile & CICD & Docs & Dependencies Issues related to compiling ABACUS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants