If you have:
- A general end-user question or problem, you should probably
subscribe to the Open MPI user's mailing list and post it
there.
- If you have a bug report and/or patch for Open MPI, you should
probably subscribe to the Open MPI developer's list and post it there.
Open MPI uses Github issues for
its bug tracking (see the "Bug Tracking" link in the left-hand
navigation).
If you have a problem or question, it is highly recommended that
you execute the following steps in order. Many
people have similar problems with configuration and initial setup of
Open MPI -- it is possible that your question has already been
answered.
- Check the Open MPI
FAQ.
We generally take the approach that if the same
question comes up multiple times, we put it on the FAQ.
- Check the mailing
list archives.
Use the "search" features to check old
posts and see if others have asked the same question and had it
answered.
- If you do not find a solution to your problem in the above
resources, send the following information to the Open MPI user's
mailing list (see the mailing lists page for more information).
Note: The
mailing lists have a 150 KB size limit on messages. If
attaching your files results in an email larger than this, please try
compressing it and/or posting it on the web somewhere for people to
download. A GitHub gist or a
Pastebin might be an easy choice
for posting large text files.
- Remember: the more information you include in your report,
the better. E-mails simply stating, "It doesn't work!" are not
helpful; we need to know as much information about your environment
as possible in order to provide meaningful assistance. The
best way to get help is to provide a "recipie" for
reproducing the problem. This will allow the Open MPI developers to
see the error for themselves, and therefore be able to fix it.
- Use a descriptive "subject" line in your
email! Some Open MPI question-answering people decide
whether to read a mail based on its subject line (e.g., to see if
it's a question that they can answer). So please plese please use
a good subject line that succinctly describes your problem.
- For run-time problems:
- Check the FAQ
first. Really. This can save you a lot of
time; many common problems and solutions are listed
there.
- The version of Open MPI that you're using.
- The
config.log file from the top-level Open
MPI directory, if available (compress with bzip2 or
post to a Github gist or Pastebin).
- The output of the "
ompi_info --all " command
from the node where you're invoking mpirun .
- If you have questions or problems about process affinity /
binding, send the output from running the "lstopo -v"
command from a recent version of hwloc. The
detailed text output is preferable to a graphical
output.
- If running on more than one node -- especially if you're
having problems launching Open MPI processes -- also include
the output of the "
ompi_info -v ompi full
--parsable " command from each node on
which you're trying to run.
- If you are able to launch MPI processes, you can use
mpirun to gather this information. For
example, if the file my_hostfile.txt
contains the hostnames of the machines on which you
are trying to run Open MPI processes:
shell$ mpirun --bynode --hostfile my_hostfile.txt --tag-output ompi_info -v ompi full --parsable |
- If you cannot launch MPI processes, use some other
mechanism -- such as
ssh (or
rsh ) -- to gather this information. For
example, if the file my_hostfile.txt
contains the hostnames of the machines on which you are
trying to run Open MPI processes:
C-style shell (e.g., csh) |
Bourne-style shell (e.g., sh, bash) |
shell% foreach h (`cat my_hostfile.txt`)
foreach? echo === $h
foreach? ssh $h ompi_info -v ompi full --parsable
foreach? end |
|
shell$ for h in `cat my_hostfile.txt`
> do
> echo === $h
> ssh $h ompi_info -v ompi full --parsable
> done |
|
- A detailed description of what is failing. The
more details that you provide, the better. E-mails saying
"My application doesn't work!" will inevitably be answered
with requests for more information about exactly what
doesn't work; so please include as much information
detailed in your initial e-mail as possible. We strongly
recommend that you include the following information:
- The exact command used to run your application.
- Any relevant MCA parameters that were set (or unset)
when you ran (from either the command line, environment,
parameter file, etc.).
- The value of the PATH and LD_LIBRARY_PATH environment
variables (did you set them correctly to point to all
relevant executables, the Open MPI libraries, and any
required support libraries, such as libraries required
for high-speed networks such as InfiniBand).
- Please include information about your network:
- For InfiniBand-based networks, include the information
listed
in this FAQ entry.
- For TCP-based networks, include the output of the
ifconfig command on all relevant nodes.
Note that some Linux distributions do not put
ifconfig in the default PATH of normal
users; look for it in /sbin/ifconfig or
/usr/sbin/ifconfig .
- For compile problems:
- The version of Open MPI that you're using.
- All output (both compilation output and run time
output, including all error messages)
- Output from when you ran "
./configure " to
configure Open MPI (compress with bzip2 or post to a
GitHub gist or Pastebin!)
- The
config.log file from the top-level Open MPI
directory (compress with bzip2 or post to a GitHub gist or
Pastebin!)
- Output from when you ran "
make V=1 " to build
Open MPI (compress with bzip2 or post to a GitHub gist or
Pastebin!)
- Output from when you ran "
make install " to
install Open MPI (compress bzip2 or post to a GitHub gist
or Pastebin!)
To capture the output of the configure and make steps you can use
the script command or the following technique if using a csh style
shell:
shell% ./configure {options} |& tee config.out
shell% make all |& tee make.out
shell% make install |& tee make-install.out |
or if using a Bourne style shell:
shell$ ./configure {options} 2>&1 | tee config.out
shell$ make all 2>&1 | tee make.out
shell$ make install 2>&1 | tee make-install.out |
To compress all the files listed above, we recommend first
redirecting the files listed above to a unique directory:
C-style shell (e.g., csh) |
Bourne-style shell (e.g., sh, bash) |
shell% mkdir $HOME/ompi-output
shell% cd /path/to/ompi-4.1.4
shell% ./configure |& tee $HOME/ompi-output/configure.out
#...lots of output...
shell% cp config.log opal/include/opal_config.h $HOME/ompi-output
shell% make all |& tee $HOME/ompi-output/make.out
#...lots of output...
shell% make install |& tee $HOME/ompi-output/make-install.out
#...lots of output... |
|
shell$ mkdir $HOME/ompi-output
shell$ cd /path/to/ompi-4.1.4
shell$ ./configure 2>&1 | tee $HOME/ompi-output/configure.out
#...lots of output...
shell$ cp config.log opal/include/opal_config.h $HOME/ompi-output
shell$ make all 2>&1 | tee $HOME/ompi-output/make.out
#...lots of output...
shell$ make install 2>&1 | tee $HOME/ompi-output/make-install.out
#...lots of output... |
|
Then create a compressed tarball of that directory to send to the
mailing list. If you have GNU Tar, you can do this in one step. If
you do not have GNU Tar, you might have to use two steps:
GNU Tar |
Non-GNU Tar |
shell% cd $HOME
shell% tar jcvf ompi-output.tar.bz2 ompi-output
#...lots of output...
shell% |
|
shell% cd $HOME
shell% tar cvf ompi-output.tar ompi-output
#...lots of output...
shell% bzip2 ompi-output.tar
shell% |
|
Then send the resulting ompi-output.tar.bz2 file to the
mailing list.
NOTE: The mailing lists do have size
limits on attachments. If your post is rejected because the
attachment is too large, you might want to post the files somewhere on
the internet (e.g., a GitHub gist or a Pastebin) and just send links
in your post to the mailing list.
Make today an Open MPI day!
|