Commit 21347c1
authored
Fix 1D multi-rank MPI_GATHERV bug in post-process silo output (#1138)
* Update m_data_output.fpp
* Fix 1D multi-rank MPI_GATHERV undefined behavior in post-process
The 1D paths in s_mpi_gather_spatial_extents and
s_mpi_gather_data_extents reused recvcounts/displs arrays sized for
grid defragmentation (m+1 per rank), but each rank only sends 1
scalar value. This sendcount/recvcounts mismatch is undefined behavior
per the MPI standard and caused nondeterministic crashes with Intel
MPI, preventing silo files from being written.
Replace MPI_GATHERV with MPI_GATHER + temp buffer for the 1D case.
Multi-D paths and 1D defragmentation functions are unchanged.1 parent 3639574 commit 21347c1
2 files changed
Lines changed: 42 additions & 19 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
| 171 | + | |
171 | 172 | | |
172 | 173 | | |
173 | 174 | | |
| |||
273 | 274 | | |
274 | 275 | | |
275 | 276 | | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
276 | 280 | | |
277 | | - | |
278 | | - | |
279 | | - | |
280 | | - | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
281 | 285 | | |
282 | 286 | | |
283 | | - | |
284 | | - | |
285 | | - | |
286 | | - | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
287 | 291 | | |
288 | 292 | | |
289 | 293 | | |
| |||
339 | 343 | | |
340 | 344 | | |
341 | 345 | | |
342 | | - | |
343 | | - | |
344 | | - | |
345 | | - | |
346 | | - | |
347 | | - | |
348 | | - | |
349 | | - | |
350 | | - | |
351 | | - | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
352 | 375 | | |
353 | 376 | | |
354 | 377 | | |
| |||
0 commit comments