Repository navigation
Remove MPI from SlaterGPU (unused; unblocks USE_MPI=OFF stack) - #103
Conversation
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>
Verified on UM Great Lakes; approved in principle by PaulDecision (Paul, 2026-09-30): SlaterGPU could conceivably use MPI in the future, but since it doesn't today there's no harm in removing the vestigial references, as long as nothing breaks. If SlaterGPU gains real MPI code later, re-add Branch updated: merged current Great Lakes test (this PR merged onto
|
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 linksMPI::*, andsgpu.exelinks no MPI. Yet it had two vestigial MPI touchpoints:CMakeLists.txt—set(USE_MPI True)+if(USE_MPI) find_package(MPI REQUIRED).SlaterGPUConfig.cmake.in—find_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 aUSE_MPI=OFFbuild of the SlaterGPU → ZEST → XCtera stack.Why
Making SlaterGPU cleanly MPI-agnostic confines
USE_MPIto 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.soall produced.USE_MPI/ MPI, so nothing downstream in SlaterGPU is affected.Notes
requires-piximinimum, which CI also uses). Current pixi 0.71.0 is incompatible with the pinnedpixi-build-cmake <=0.3.8backend — a separate infra item.🤖 Generated with Claude Code