Skip to content

CMake: Simplify ABACUS executable naming logic - #7792

Open
Growl1234 wants to merge 1 commit into
deepmodeling:developfrom
Growl1234:cmake
Open

CMake: Simplify ABACUS executable naming logic#7792
Growl1234 wants to merge 1 commit into
deepmodeling:developfrom
Growl1234:cmake

Conversation

@Growl1234

@Growl1234 Growl1234 commented Aug 9, 2026

Copy link
Copy Markdown

The previous implementation enumerated most combinations of LCAO/PW, LibRI, ML, CUDA, and MPI through deeply nested conditionals. This PR instead determines the executable name from two independent components:

  • feature: pw, basic, std, ml, or max;
  • backend: gpu, para, omp, or ser.

The final name is then constructed as abacus_<feature>_<backend>, like what's provided before.

Changes

  • Remove the duplicated nested executable-naming branches.
  • Treat CUDA, ROCm, and CUDA-on-DCU builds consistently as gpu.
  • Distinguish non-MPI OpenMP builds with the omp suffix instead of classifying them as ser.
  • Ensure the executable name is always determined without relying on particular MPI/GPU combinations.
  • Remove the unnecessary cache-variable cleanup for ABACUS_BIN_NAME.

Copilot AI lite review requested due to automatic review settings August 9, 2026 02:28

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@mohanchen mohanchen added the Compile & CICD & Docs & Dependencies Issues related to compiling ABACUS label Aug 9, 2026
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.

3 participants