<div dir="ltr">This is related to <a href="https://github.com/mpi-forum/mpi-issues/issues/663">https://github.com/mpi-forum/mpi-issues/issues/663</a> but there are other scenarios where nonblocking communication with non-contiguous Fortran subarrays is extremely difficult to implement.  The blocking cases are easy to support by copying to and from contiguous buffers.<div><br></div><div>I wonder if there is a code path in MPICH associated with nonblocking communication that is deferred until the request is synchronized.  For example, is there code that merely copies all the arguments passed to the call into some object and then processes the whole operation when the request is synchronized?</div><div><br></div><div>Critically for my case, the Fortran arguments would need to be copied, meaning the CFI_cdesc_t pointer not just the associated base_addr, which I doubt is there based on what I've read so far.</div><div><br>Thanks,</div><div><br></div><div>Jeff<br><div><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Jeff Hammond<br><a href="mailto:jeff.science@gmail.com" target="_blank">jeff.science@gmail.com</a><br><a href="http://jeffhammond.github.io/" target="_blank">http://jeffhammond.github.io/</a></div></div></div></div>