SOS
SOS copied to clipboard
Add collective data segment check
Perform a collective check for symmetry (base, size) of the data segment.
This should generate a warning message (symmetric data segment is borked, but heap should still work) in scenarios like #565. Unfortunately, it's not a guarantee since the compilers could generate two binaries with same base/size for the data segments, but different layouts.
In the future, especially as we consider hybrid e.g. SHMEM+MPI usage models, it's likely that we will encounter more scenarios where the data segment is not symmetric. We could also add an env var to disable exposing the data segment as a symmetric object (although, as noted in #565, this causes over half of the unit tests to fail).