Blame RELEASE_NOTES

Packit Service c5cf8c
----------------------------------------------------------------------
Packit Service c5cf8c
                        KNOWN ISSUES
Packit Service c5cf8c
----------------------------------------------------------------------
Packit Service c5cf8c
Packit Service c5cf8c
### CH4
Packit Service c5cf8c
Packit Service c5cf8c
 * Build Issues
Packit Service c5cf8c
   - CH4 will not build with Solaris compilers.
Packit Service c5cf8c
 * Stability with large buffers
Packit Service c5cf8c
   - CH4 may suffer from stability issues when operating on large
Packit Service c5cf8c
     communication buffers (>= 2GB)
Packit Service c5cf8c
Packit Service c5cf8c
 * Dynamic process support
Packit Service c5cf8c
   - Requires fi_tagged capability in OFI netmod
Packit Service c5cf8c
   - Not supported in UCX netmod at this time
Packit Service c5cf8c
Packit Service c5cf8c
 * Test failures
Packit Service c5cf8c
   - CH4 will not currently pass 100% of the testsuite.
Packit Service c5cf8c
   - Test failures differ based on experimental setup and network
Packit Service c5cf8c
     support built in.
Packit Service c5cf8c
Packit Service c5cf8c
### OS/X
Packit Service c5cf8c
Packit Service c5cf8c
 * C++ bindings - Exception handling in C++ bindings is broken because
Packit Service c5cf8c
   of a bug in libc++ (see
Packit Service c5cf8c
   https://github.com/android-ndk/ndk/issues/289).  You can workaround
Packit Service c5cf8c
   this issue by explicitly linking your application to libstdc++
Packit Service c5cf8c
   instead (e.g., mpicxx -o foo foo.cxx -lstdc++).
Packit Service c5cf8c
Packit Service c5cf8c
 * GCC builds - When using Homebrew or Macports gcc (not the default
Packit Service c5cf8c
   gcc, which is just a symlink to clang), a bug in gcc
Packit Service c5cf8c
   (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838) causes stack
Packit Service c5cf8c
   alignment issues in some cases causing segmentation faults.  You
Packit Service c5cf8c
   can workaround this issue by building mpich with clang, or by
Packit Service c5cf8c
   passing a lower optimization level than the default (-O2).
Packit Service c5cf8c
   Currently, this bug only seems to show up when the
Packit Service c5cf8c
   --disable-error-checking flag is passed to configure.
Packit Service c5cf8c
Packit Service c5cf8c
### PGI compilers
Packit Service c5cf8c
Packit Service c5cf8c
 * ch3/nemesis will segfault during MPI_Init when built with recent
Packit Service c5cf8c
   versions of PGI compilers.
Packit Service c5cf8c
Packit Service c5cf8c
### PathScale compilers
Packit Service c5cf8c
 * Due to bugs in the PathScale compiler suite, some configurations of MPICH
Packit Service c5cf8c
   do not build correctly.
Packit Service c5cf8c
    - v5.0.1: When the --disable-shared configure option is passed to MPICH,
Packit Service c5cf8c
      applications will give a segfault.
Packit Service c5cf8c
Packit Service c5cf8c
    - v5.0.5: Unless you pass the --enable-fast=O0 configure flag to MPICH,
Packit Service c5cf8c
      applications will hang.
Packit Service c5cf8c
Packit Service c5cf8c
   See the following ticket for more information:
Packit Service c5cf8c
Packit Service c5cf8c
    https://trac.mpich.org/projects/mpich/ticket/2104
Packit Service c5cf8c
Packit Service c5cf8c
### Fine-grained thread safety
Packit Service c5cf8c
Packit Service c5cf8c
 * ch3:sock does not (and will not) support fine-grained threading.
Packit Service c5cf8c
Packit Service c5cf8c
 * MPI-IO APIs are not currently thread-safe when using fine-grained
Packit Service c5cf8c
   threading (--enable-thread-cs=per-object).
Packit Service c5cf8c
Packit Service c5cf8c
 * ch3:nemesis:tcp fine-grained threading is still experimental and may
Packit Service c5cf8c
   have correctness or performance issues.  Known correctness issues
Packit Service c5cf8c
   include dynamic process support and generalized request support.
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
### Lacking channel-specific features
Packit Service c5cf8c
Packit Service c5cf8c
 * ch3 does not presently support communication across heterogeneous
Packit Service c5cf8c
   platforms (e.g., a big-endian machine communicating with a
Packit Service c5cf8c
   little-endian machine).
Packit Service c5cf8c
Packit Service c5cf8c
 * Support for "external32" data representation is incomplete. This
Packit Service c5cf8c
   affects the MPI_Pack_external and MPI_Unpack_external routines, as
Packit Service c5cf8c
   well the external data representation capabilities of ROMIO.  In
Packit Service c5cf8c
   particular: noncontiguous user buffers could consume egregious
Packit Service c5cf8c
   amounts of memory in the MPI library and any types which vary in
Packit Service c5cf8c
   width between the native representation and the external32
Packit Service c5cf8c
   representation will likely cause corruption.  The following ticket
Packit Service c5cf8c
   contains some additional information:
Packit Service c5cf8c
Packit Service c5cf8c
     http://trac.mpich.org/projects/mpich/ticket/1754
Packit Service c5cf8c
Packit Service c5cf8c
 * ch3 has known problems in some cases when threading and dynamic
Packit Service c5cf8c
   processes are used together on communicators of size greater than
Packit Service c5cf8c
   one.
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
### Process Managers
Packit Service c5cf8c
Packit Service c5cf8c
 * Hydra has a bug related to stdin handling:
Packit Service c5cf8c
Packit Service c5cf8c
     https://trac.mpich.org/projects/mpich/ticket/1782
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
### Performance issues
Packit Service c5cf8c
Packit Service c5cf8c
 * SMP-aware collectives do not perform as well, in select cases, as
Packit Service c5cf8c
   non-SMP-aware collectives, e.g. MPI_Reduce with message sizes
Packit Service c5cf8c
   larger than 64KiB. These can be disabled by setting the environment
Packit Service c5cf8c
   variable MPIR_CVAR_ENABLE_SMP_COLLECTIVES to 0.
Packit Service c5cf8c
Packit Service c5cf8c
 * MPI_Irecv operations that are not explicitly completed before
Packit Service c5cf8c
   MPI_Finalize is called may fail to complete before MPI_Finalize
Packit Service c5cf8c
   returns, and thus never complete. Furthermore, any matching send
Packit Service c5cf8c
   operations may erroneously fail. By explicitly completed, we mean
Packit Service c5cf8c
   that the request associated with the operation is completed by one
Packit Service c5cf8c
   of the MPI_Test or MPI_Wait routines.