Skip to content

Commit 0d605a9

Browse files
committed
Fix MPI writing
1 parent bc9a6dc commit 0d605a9

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

opencosmo/handler/mpi.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,14 @@ def write(
158158
data = self.__group[column][rank_range[0] : rank_range[1]][()]
159159
data = data[mask]
160160
data_group[column][rank_start:rank_end] = data
161-
162-
tree = self.__tree.apply_mask(mask)
161+
162+
masks = self.__comm.gather(mask, root=0)
163+
if rank == 0:
164+
mask = np.concatenate(masks)
165+
tree = self.__tree.apply_mask(mask)
166+
else:
167+
tree = None
168+
tree = self.__comm.bcast(tree, root=0)
163169
tree.write(group)
164170

165171
self.__comm.Barrier()
@@ -186,6 +192,7 @@ def get_data(
186192
data = data[mask]
187193
col = Column(data, name=column)
188194
output[column] = builder.build(col)
195+
self.__comm.Barrier()
189196

190197
if len(output) == 1:
191198
return next(iter(output.values()))

0 commit comments

Comments
 (0)