Skip to content

Remove MPI from SlaterGPU (unused; unblocks USE_MPI=OFF stack) - #103

Open
joshkamm wants to merge 1 commit into
mainfrom
make-mpi-optional-92
Open

Remove MPI from SlaterGPU (unused; unblocks USE_MPI=OFF stack)#103
joshkamm wants to merge 1 commit into
mainfrom
make-mpi-optional-92

Conversation

@joshkamm

Copy link
Copy Markdown
Member

Part of the cross-layer MPI-optional work tracked in ZEST#92 (task E in XCtera#13; hard blocker for XCtera#11).

What

SlaterGPU contains no MPI code: no MPI_* calls, no <mpi.h> include, no target links MPI::*, and sgpu.exe links no MPI. Yet it had two vestigial MPI touchpoints:

  1. CMakeLists.txtset(USE_MPI True) + if(USE_MPI) find_package(MPI REQUIRED).
  2. SlaterGPUConfig.cmake.infind_dependency(MPI REQUIRED).

Both are removed. The config-file one mattered most: it transitively re-required MPI in every consumer at find_package(SlaterGPU) time, which blocks a USE_MPI=OFF build of the SlaterGPU → ZEST → XCtera stack.

Why

Making SlaterGPU cleanly MPI-agnostic confines USE_MPI to the ZEST/XCtera layers that actually use it (they find and link MPI themselves). This is the bottom-up first step of ZEST#92's flag-consistency work.

Verification

  • USE_ACC=OFF pixi install (CPU) builds clean — libSlaterGPU.a, sgpu.exe, libio.so, libcintw.so all produced.
  • No source references USE_MPI / MPI, so nothing downstream in SlaterGPU is affected.

Notes

  • Built/verified locally with a pinned pixi 0.60.0 (the repo's requires-pixi minimum, which CI also uses). Current pixi 0.71.0 is incompatible with the pinned pixi-build-cmake <=0.3.8 backend — a separate infra item.

🤖 Generated with Claude Code

SlaterGPU contains no MPI code: no MPI_* calls, no <mpi.h>, no target links
MPI::*, and sgpu.exe links no MPI. Its find_package(MPI REQUIRED) and the
find_dependency(MPI REQUIRED) in the installed SlaterGPUConfig were pure dead
weight. Worse, the config line transitively re-required MPI in every consumer
at find_package(SlaterGPU) time, which blocks a USE_MPI=OFF build of the
SlaterGPU -> ZEST -> XCtera stack.

Removing both makes SlaterGPU cleanly MPI-agnostic; USE_MPI now lives only in
the ZEST/XCtera layers that actually use it (they find and link MPI
themselves). Part of ZEST#92.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.

1 participant