Simultaneously sending and receiving overlapping arrays is undefined MPI behaviour. When arrays should be swapped, one must instead use a buffer, or the less efficient Sendrecv_replace method.
Any function doing direct statevector or buffer swaps (e.g. oneQubitDepolarising()) must be refactored to use safe non-overlapping buffers.
Simultaneously sending and receiving overlapping arrays is undefined MPI behaviour. When arrays should be swapped, one must instead use a buffer, or the less efficient
Sendrecv_replacemethod.Any function doing direct statevector or buffer swaps (e.g.
oneQubitDepolarising()) must be refactored to use safe non-overlapping buffers.