I ran miniFE's ref version with Intel MPI under the message checker from ITAC (Intel Trace Analyzer and Collector). The message checker detected issues LOCAL:MEMORY:OVERLAP and further LOCAL:MEMORY:ILLEGAL_MODIFICATION in ref/src/make_local_matrix.hpp where the same buffers are used for sending and receiving at the same time. From what I saw all other minFE's version should also be affected if they execute the corresponding code.
The affected code from ref/src/make_local_matrix.hpp is in lines 257ff:
@mawi2017 Thank you for reporting this issue. If you have a proposed fix, please feel free to submit a pull-request for review. We would appreciate your assistance in this way.
Hi,
I ran miniFE's ref version with Intel MPI under the message checker from ITAC (Intel Trace Analyzer and Collector). The message checker detected issues LOCAL:MEMORY:OVERLAP and further LOCAL:MEMORY:ILLEGAL_MODIFICATION in
ref/src/make_local_matrix.hpp
where the same buffers are used for sending and receiving at the same time. From what I saw all other minFE's version should also be affected if they execute the corresponding code.The affected code from
ref/src/make_local_matrix.hpp
is in lines 257ff:If both loops have a trip count > 0 then some buffers pointed to by the
tmp_buffer
array are used at the same time for sending and receiving.The complete output and commands for reproducing:
If I use more then 2 processes, e.g. 72, then some OVERLAP warnings turn into ILLEGAL_MODIFICATION errors: