Conversation
… are only locally aware
|
Claude Code Review Head SHA: ee0bc0c Files changed:
Findings: [Correctness — Out-of-bounds array access in
patch_ib(:) = patch_ib_gbl(1:num_aware_ibs) ! 1:54000 from a 50000-element arrayAccessing elements 50001–54000 of [MPI Correctness — Global allreduce replaced by 2-hop neighborhood reduce] The previous [Memory Management / GPU Correctness —
allocate (patch_ib(num_ib_patches_max))and the resize in deallocate (patch_ib)
...
allocate (patch_ib(num_aware_ibs))both use bare Fortran statements instead of |
Description
The current code has an issue scaling much past 10k particles due to limitations in the MPIAllReduceSum in the IB force computation. This PR attempts to alleviate this by limiting the number of IBs any given rank can be aware of to its neighbors. This turns the AllReduce compute to a MPI neighbor computation, removing the communication bottlneck. To support this, a massive overhaul of IB ownership between ranks was required.
Type of change
Testing
TBD
Checklist
AI code reviews
Reviews are not triggered automatically. To request a review, comment on the PR:
@coderabbitai review— incremental review (new changes only)@coderabbitai full review— full review from scratch/review— Qodo review/improve— Qodo code suggestions@claude full review— Claude full review (also triggers on PR open/reopen/ready)claude-full-review— Claude full review via label