---------------------------------------------------------------------- KNOWN ISSUES ---------------------------------------------------------------------- ### CH4 * Dynamic process support - Requires fi_tagged capability in OFI netmod - Not supported in UCX netmod at this time * Test failures - test/mpi/errors/coll does not 100% pass. - Test failures differ based on experimental setup and network support built in. * libfabric psm3 provider may cause segfaults at exit - psm3 provider may cause segfaults in exit handlers. Configure with --disable-psm3 if this occurs. ### OS/X * C++ bindings - Exception handling in C++ bindings is broken because of a bug in libc++ (see https://github.com/android-ndk/ndk/issues/289). You can workaround this issue by explicitly linking your application to libstdc++ instead (e.g., mpicxx -o foo foo.cxx -lstdc++). ### Fine-grained thread safety * Multiple VCIs (--enable-thread-cs=per-vci) is only supported in ch4. * ch3 does not (and will not) support fine-grained threading. ### Lacking channel-specific features * MPICH does not presently support communication across heterogeneous platforms (e.g., a big-endian machine communicating with a little-endian machine). * ch3 has known problems in some cases when threading and dynamic processes are used together on communicators of size greater than one. ### Performance issues * MPI_Irecv operations that are not explicitly completed before MPI_Finalize is called may fail to complete before MPI_Finalize returns, and thus never complete. Furthermore, any matching send operations may erroneously fail. By explicitly completed, we mean that the request associated with the operation is completed by one of the MPI_Test or MPI_Wait routines.