|
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.
|