You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor: EXX PW now uses the new Parallel_device communication interface (#7312)
* Harden GPU MPI staging helpers
* Add NCCL collectives for parallel_device
* Fix NCCL headers in parallel_device
* Route PGemm collectives through device wrappers
* Tighten NCCL collective correctness
* Relax NCCL discovery for existing environments
* Decouple NCCL parallel_device from CUDA-aware MPI
* Propagate NCCL headers to subdirectory targets
* Fix: narrow CPU staging guards in para_gemm to respect NCCL collectives
isend_dev has no NCCL path — keep guard as #ifndef __CUDA_MPI.
reduce_dev / gatherv_dev have NCCL early-returns — exclude CPU staging
when __NCCL_PARALLEL_DEVICE is defined (&& !defined).
* Refactor(exx_pw): unify GPU/CPU bcast via Parallel_Common::bcast_dev
Add configurable root parameter to bcast_data/nccl_bcast_data/bcast_dev
(default root=0 for backward compat). Replace manual MPI_Bcast with
GPU/CPU branching in EXX PW operator with unified bcast_dev/reduce_dev.
* Fix(sdft): update bcast_dev call with root parameter
* Fix: add missing include for base_device namespace in parallel_device.h
* Fix: ELF on GPU and MPI-disabled compile errors
- ELF GPU: use static_cast with Device-typed psi to bypass
virtual dispatch mismatch where DEVICE_GPU cal_tau() did not
override base class DEVICE_CPU cal_tau(). Meta-GGA path was
unaffected because tau is computed in psiToRho during SCF.
- ACE EXX: guard Parallel_Common::reduce_dev calls with
__MPI since POOL_WORLD and reduce_dev are only declared
when MPI is enabled.
* Docs: fix bcast_dev doxygen to match actual signature
0 commit comments