Skip to content

Commit c168b7a

Browse files
committed
allow communicator to register its own buffer to receive
1 parent 44ae46f commit c168b7a

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

mpisppy/cylinders/spcommunicator.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,6 @@ def _create_field_rank_mappings(self) -> None:
186186
self.ranks_to_fields = {}
187187

188188
for rank, buffer_layout in enumerate(self.window.strata_buffer_layouts):
189-
if rank == self.strata_rank:
190-
continue
191189
self.ranks_to_fields[rank] = []
192190
for field in buffer_layout:
193191
if field not in self.fields_to_ranks:
@@ -316,8 +314,9 @@ def register_receive_fields(self) -> None:
316314
# they are nonsensical.
317315
self.receive_field_spcomms[field] = []
318316
for strata_rank, comm in enumerate(self.communicators):
319-
if strata_rank == self.strata_rank:
320-
continue
317+
# It seems non-sensical, but to enable generic code we'll
318+
# let a cylinder register its own receive field.
319+
# (In particular, for nonant bounds...)
321320
cls = comm["spcomm_class"]
322321
if field in self.ranks_to_fields[strata_rank]:
323322
buff = self.register_recv_field(field, strata_rank)

0 commit comments

Comments
 (0)