1
1

1571 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
c960d292ec Convert all README files to Markdown
A mindless task for a lazy weekend: convert all the README and
README.txt files to Markdown.  Paired with the slow conversion of all
of our man pages to Markdown, this gives a uniform language to the
Open MPI docs.

This commit moved a bunch of copyright headers out of the top-level
README.txt file, so I updated the relevant copyright header years in
the top-level LICENSE file to match what was removed from README.txt.

Additionally, this commit did (very) little to update the actual
content of the README files.  A very small number of updates were made
for topics that I found blatently obvious while Markdown-izing the
content, but in general, I did not update content during this commit.
For example, there's still quite a bit of text about ORTE that was not
meaningfully updated.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Co-authored-by: Josh Hursey <jhursey@us.ibm.com>
2020-11-10 13:52:29 -05:00
Fangcong-Yin
7ee34e9c20 Convert 12 .3in files to md
Signed-off-by: Fangcong Yin <fyin2@nd.edu>
Convert MPI_Graph_create.3in - MPI_Group_intersection.3in to md files

Update ompi/mpi/man/man3/MPI_Grequest_complete.md

Signed-off-by: Fangcong Yin <fyin2@nd.edu>

Co-authored-by: Jeff Squyres <jsquyres@users.noreply.github.com>

Update ompi/mpi/man/man3/MPI_Group_excl.md

Signed-off-by: Fangcong Yin <fyin2@nd.edu>

Co-authored-by: Jeff Squyres <jsquyres@users.noreply.github.com>
2020-10-31 15:09:26 -04:00
Jeff Squyres
6f2a5b91cd
Merge pull request #8162 from Colton-K/pr/MPI_C_batch2
Converted batch 2 of MPI_C* (MPI_Comm_accept - MPI_Comm_dup_with_info)
2020-10-31 13:20:14 -04:00
Colton Kammes
ee3bd5859e Converted batch 2 of MPI_C* (MPI_Comm_accept - MPI_Comm_dup_with_info)
Signed-off-by: Colton Kammes <ckammes@nd.edu>
2020-10-31 10:02:37 -04:00
Jeff Squyres
c7b968ef20
Merge pull request #6903 from ggouaillardet/topic/use-mpi-f08-profile
fortran/use-mpi-f08: generates PMPI bindings from the MPI bindings
2020-10-31 09:41:49 -04:00
Jeff Squyres
400c005d04
Merge pull request #8161 from Fangcong-Yin/latest_pr
Convert MPI_Gather.3in - MPI_Get_version.3in to md
2020-10-30 21:13:54 -04:00
Fangcong-Yin
d85bf3ae1a Convert MPI_Gather.3in - MPI_Get_version.3in to md
Signed-off-by: Fangcong Yin (fyin2@nd.edu)
2020-10-30 20:03:59 -04:00
Colton Kammes
a08f8d30dd Converted first half of MPI_C* (from MPI_Cancel to MPI_Close_port)
Signed-off-by: Colton Kammes <ckammes@nd.edu>
2020-10-30 18:25:22 -04:00
Jeff Squyres
f813656d24
Merge pull request #8154 from Fangcong-Yin/latest_pr
Convert MPI_File_write_ordered.3in - MPI_Free_mem.3in to md
2020-10-30 10:44:23 -04:00
Fangcong-Yin
82081118d6 Convert MPI_File_write_ordered.3in - MPI_Free_mem.3in to md
Signed-off-by: Fangcong Yin (fyin2@nd.edu)

Convert MPI_File_write_ordered.3in - MPI_Free_mem.3in to md
Signed-off-by: Fangcong Yin (fyin2@nd.edu)

Convert MPI_File_write_ordered.3in - MPI_Free_mem.3in to md
Signed-off_by: Fangcong Yin (fyin2@nd.edu)
2020-10-30 10:11:19 -04:00
Colton Kammes
cded23fe9b Finished converting MPI_B section into markdown files
Signed-off-by: Colton Kammes <ckammes@nd.edu>
2020-10-30 09:19:01 -04:00
Gilles Gouaillardet
8c2b916048 fortran/use-mpi-tkr: revamp PMPI_* declarations
only declare MPI_* bindings and use macros to deduce the PMPI_* bindings

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2020-10-30 14:00:42 +09:00
Gilles Gouaillardet
e981e46446 fortran/use-mpi-ignore-tkr: revamp PMPI_* declarations
only declare MPI_* bindings and use macros to deduce the PMPI_* bindings

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2020-10-30 14:00:42 +09:00
Gilles Gouaillardet
c2e3df6d3e fortran/use-mpi-f08: simplify mod/mpi-f08-interfaces.h
have this file generated at configure time and use the
@OMPI_FORTRAN_IGNORE_TKR_PREDECL@ and @OMPI_FORTRAN_IGNORE_TKR_TYPE@
variable for buffer definitions

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2020-10-30 13:58:48 +09:00
Gilles Gouaillardet
5219241d13 fortran/use-mpi-f08: generates PMPI bindings from the MPI bindings
- via the OMPI_BUILD_MPI_PROFILING macro, avoid the need to have two distinct
   source files for MPI_* and PMPI_* bindings.
 - move the PMPI bindings into ompi/mpi/fortran/use-mpi-f08/profile.
 - remove an useless dependency to mpi-f08.lo
 - share most of mod/[p]mpi-f08-interfaces.F90 code in a single mod/mpi-f08-interfaces.h

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2020-10-30 13:58:48 +09:00
Jeff Squyres
593a918379
Merge pull request #8133 from Fangcong-Yin/latest_pr
Convert MPI_Bcast.3in to markdown
2020-10-27 10:22:58 -04:00
Fangcong-Yin
c2ef4af7b6 Convert MPI_Bcast.3in to markdown
Signed-off-by: Fangcong Yin (fyin2@nd.edu)
2020-10-26 18:53:00 -04:00
Jeff Squyres
6304c3f57c
Merge pull request #8131 from jsquyres/pr/include-mpi-man5-markdown-nroffed-pages
ompi/man5: include nroff-ified pages in tarball
2020-10-25 17:49:22 -04:00
Colton Kammes
f14a6c5089 Converted MPI_Barrier.3in to MPI_Barrier.md
Signed-off-by: Colton Kammes <ckammes@nd.edu>
2020-10-25 14:12:31 -04:00
Jeff Squyres
ca524134d4 ompi/man5: include nroff-ified pages in tarball
Add a line that was accidentally left out that includes the generated
nroff pages (from the Markdown pages) in the dist tarball.

The lack of these files in the dist tarball was causing configure to
fail a test and therefore conclude that we need to have pandoc
installed.  Put differently: it's a specific goal that we do not want
end users to have to have Pandoc installed -- all Markdown files must
generate their nroff equivalents and have those nroff files included
in the distribution tarball.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2020-10-24 10:39:50 -07:00
Gilles Gouaillardet
fb8bfccb83 mpif-h: fix a typo in MPI_Status_f2f08()
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2020-09-14 13:56:16 +09:00
Jeff Squyres
c04dc355de mpi/man: convert MPI_Status conversion man pages to Markdown
Convert the MPI_Status_f082f, MPI_Status_f082c, and MPI_Status_f2c man
pages to Markdown.  Fix some typos and improve the text a bit along
the way.

Left the raw NROFF redirect pages MPI_Status_f2f08, MPI_Status_c2f08,
and MPI_Status_c2f files as they were -- they're 1-line redirects, and
it seems simpler to leave those (vs. duplicating the Markdown).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2020-09-09 06:59:12 -07:00
Gilles Gouaillardet
e97d3ce645 Add missing MPI_Status conversion subroutines
Only in C bindings:
 - MPI_Status_c2f08()
 - MPI_Status_f082c()

In all bindings but mpif.h
 - MPI_Status_f082f()
 - MPI_Status_f2f08()

and the PMPI_* related subroutines

As initially inteded by the MPI forum, the Fortran to/from Fortran 2008
conversion subtoutines are *not* implemented in the mpif.h bindings.
See the discussion at https://github.com/mpi-forum/mpi-issues/issues/298

Refs. open-mpi/ompi#1475

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2020-09-09 06:59:12 -07:00
Jeff Squyres
560ebc5780
Merge pull request #7716 from bosilca/coll/adapt
ADAPT: Event-driven collective implementation
2020-09-01 11:29:53 -04:00
Joseph Schuchart
4d420348f7 Fix MPI versions in MPI.3 manpage
Thanks to Andy Riebs for reporting that on the Open MPI user mailing list (https://www.mail-archive.com/users@lists.open-mpi.org/msg34103.html)

Signed-off-by: Joseph Schuchart <schuchart@hlrs.de>
2020-08-31 09:21:26 +02:00
Xi Luo
e59bde912e Remove the code handling zero count cases in ADAPT.
Set request in ibcast.c to empty when the count is 0.

Signed-off-by: Xi Luo <xluo12@vols.utk.edu>
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2020-08-24 12:13:38 -07:00
George Bosilca
8582e10d2b Consistent handling of zero counts in the MPI API.
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2020-08-24 12:13:38 -07:00
Jeff Squyres
20c772e733 Cleanup language about MPI exceptions --> errors
MPI-4 is finally cleaning up its language: an MPI "exception" does not
actually exist.  The only thing that exists is an MPI "error" (and
associated handlers).  This commit replaces all relevant uses of the
word "exception" with "error".  Note that this is still applicable in
versions of the MPI standard less than MPI-4.0 (indeed, nearly all the
cases fixed in this commit are just changes to comments, anyway).

One exception to this is the Java bindings, where there's an
MPIException class.  In hindsight, it probably should have been named
MPIError, but changing it now would break anyone who is using the Java
bindings.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2020-08-17 13:57:47 -04:00
Aurelien Bouteiller
e6c7731d9b
Missing function to populate java error handler abort
Signed-off-by: Aurelien Bouteiller <bouteill@icl.utk.edu>
2020-08-06 10:29:42 -04:00
Aurélien Bouteiller
b37202c74e
Add compliance mode with MPI-4 routing of errors to MPI_COMM_SELF by
default
And other streamlining of aborting behavior.

Signed-off-by: Aurélien Bouteiller <bouteill@icl.utk.edu>

Remove OMPI_COMM_ERRORS and use NOHANDLE macros instead.

Signed-off-by: Aurelien Bouteiller <bouteill@icl.utk.edu>

route unbound errors to self error handler

Signed-off-by: Aurelien Bouteiller <bouteill@icl.utk.edu>

Do not raise the error handler from within components

Signed-off-by: Aurelien Bouteiller <bouteill@icl.utk.edu>
2020-07-23 05:09:29 -04:00
Aurélien Bouteiller
703b8c356f
Make error_class and error_string callable before/after
MPI_INIT/FINALIZE

Signed-off-by: Aurélien Bouteiller <bouteill@icl.utk.edu>

make lazy initialization opal unlikely

Signed-off-by: Aurelien Bouteiller <bouteill@icl.utk.edu>
2020-07-16 03:10:32 -04:00
Jeff Squyres
98bc7af7d4 mpi_f08: fix Fortran-8-byte-INTEGER vs. C-4-byte-int issue
It is important to have the mpi_f08 Type(MPI_Status) be the same
length (in bytes) as the mpif.h status (which is an array of
MPI_STATUS_SIZE INTEGERs).  The reason is because MPI_Status_ctof()
basically does the following:

MPI_Fint *f_status = ...;
int *s = (int*) &c_status;
for i=0..sizeof(MPI_Status)/sizeof(int)
   f_status[i] = c_status[i];

Meaning: the Fortran status needs to be able to hold as many INTEGERs
are there are C int's that can fit in sizeof(MPI_Status) bytes.

This is because a Fortran INTEGER may be larger than a C int (e.g.,
Fortran 8 bytes vs. C 4 bytes).  Hence, the assignment on the Fortran
side will take sizeof(INTEGER) bytes for each sizeof(int) bytes in the
C MPI_Status.

This commit pads out the mpi_f08 Type(MPI_Status) with enough INTEGERs
to make it the same size as an array of MPI_TYPE_SIZE INTEGERs.
Hence, MPI_Status_ctof() will work properly, regardless of whether it
is assinging to an mpi_f08 Type(MPI_Status) or an mpif.h array of
MPI_STATUS_SIZE INTEGERs.

Thanks to @ahaichen for reporting the issue.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2020-07-09 15:12:43 -07:00
Aurélien Bouteiller
9c22ad84af
Add the MPI_ERRORS_ABORT predefined error handler (conformance with
mpi-next)

Signed-off-by: Aurélien Bouteiller <bouteill@icl.utk.edu>

Ordering must match fortran definition index for errhandlers, and we
don't want to change the old ones.

Signed-off-by: Aurélien Bouteiller <bouteill@icl.utk.edu>
2020-06-10 12:01:24 -04:00
Aurélien Bouteiller
6a3e781d5c
Add ERR_PROC_ABORTED (compliance with mpi-next)
Signed-off-by: Aurélien Bouteiller <bouteill@icl.utk.edu>
2020-06-10 12:01:24 -04:00
Jeff Squyres
70993e1670 Move "MPI" and "OpenMPI" man pages to section 5
Make the main man page be Open-MPI(5), and set nroff-native aliases
for MPI(5) and OpenMPI(5).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2020-05-02 12:45:32 -07:00
Jeff Squyres
7ace873b50 Add MPI_T.5 man page for Open MPI-specific info
Also added infrastructure to have developers write man pages in
Markdown (vs. nroff).  Pandoc >=v1.12 is used to convert those
Markdown files into actual nroff man pages.

Dist tarballs will contain generated nroff man pages; we don't want to
require users to have Pandoc installed.  Anyone who builds Open MPI
from a git clone will need to have Pandoc installed (similar to how we
treat Flex).  You can opt out of Open MPI's Pandoc-generated man pages
by configuring Open MPI with --disable-man-pages.  This will also
disable "make dist" (i.e., "make dist" will error if you configured
with --disable-man-pages).

Also removed the stuff to re-generate man pages.

This commit also:

1. Includes a new man page, written in Markdown
   (ompi/mpi/man/man5/MPI_T.5.md) that contains Open MPI-specific
   information about MPI_T.
2. Includes a converted ompi/mpi/man/man3/MPI_T_init_thread.3.md (from
   MPI_T_init_thread.3in -- i.e., nroff) just to show that Markdown
   can be used throughout the Open MPI code base for man pages.
3. Made the Makefiles in ompi/mpi/man/man?/ be full-fledged
   Makefile.am's (vs. Makefile.extras that are designed to be included
   in ompi/Makefile.am).  It is more convenient to test generation /
   installation of man pages when you can "make" and "make install" in
   their respective directories (vs. doing a build / install for the
   entire ompi project).
4. Removed logic from ompi/Makefile.am that re-generated man pages if
   opal_config.h changes.

Other man pages -- hopefully all of them! -- will be converted to
Markdown over time.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2020-05-02 12:45:31 -07:00
George Bosilca
f4af1848c9
Follow the MPI_T guidelines on return errors.
As indicated in the MPI3.2 document 14.3.10 page 599 line 1, the only
MPI error code possible is MPI_SUCCESS. All other errors must be in the
error class MPI_T_ERR*.
Fix the return of few pvar/cvar function that failed to correctly
convert to an MPI error code.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2020-04-08 00:02:45 -04:00
Jeff Squyres
9687d5e867 Upgrade all www.open-mpi.org URLs to https
Found a handful of other URLs that weren't https-ized, so I updated
them, too (after verifying that they support https, of course).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2020-04-02 10:43:50 -04:00
Nathan Hjelm
160ff188b8
Merge pull request #7169 from hjelmn/fix_what_wg21_calls_our_problem_not_theirs_seriously__in_some_ways_they_are_correct_but_wtf
configure: use -iquote for non-system include paths
2020-03-30 09:22:54 -07:00
Noah Evans
ee3517427e Add threads framework
Add a framework to support different types of threading models including
user space thread packages such as Qthreads and argobot:

https://github.com/pmodels/argobots

https://github.com/Qthreads/qthreads

The default threading model is pthreads.  Alternate thread models are
specificed at configure time using the --with-threads=X option.

The framework is static.  The theading model to use is selected at
Open MPI configure/build time.

mca/threads: implement Argobots threading layer

config: fix thread configury

- Add double quotations
- Change Argobot to Argobots
config: implement Argobots check

If the poll time is too long, MPI hangs.

This quick fix just sets it to 0, but it is not good for the
Pthreads version. Need to find a good way to abstract it.

Note that even 1 (= 1 millisecond) causes disastrous performance
degradation.

rework threads MCA framework configury

It now works more like the ompi/mca/rte configury,
modulo some edge items that are special for threading package
linking, etc.

qthreads module
some argobots cleanup

Signed-off-by: Noah Evans <noah.evans@gmail.com>
Signed-off-by: Shintaro Iwasaki <siwasaki@anl.gov>
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-03-27 10:15:45 -06:00
Gilles Gouaillardet
69bc2e8372 misc: fix <> vs "" includes throught the ompi codebase
This commit fixes an issue with the include usage in some
ompi source files. These source files are using the <> form
of include when the "" form is correct (as these are internal,
**not** system headers).

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Signed-off-by: Nathan Hjelm <hjelmn@google.com>
2020-03-09 21:13:49 -04:00
Austen Lauria
04a3a28a74 Some memchecker cleanup and others.
- Port memchecker call from a1d502c.
- Remove unused memcheck macro variables.
- Some code readability improvements.
- Remove some stray +1's in dynamic comm cleanup.
- Re-add OPAL_ENABLE_DEBUG macro to osc header.
- Cleanup some printf's, and includes.
- Refactor cleanup of dpm_disconnect_objs.

Signed-off-by: Austen Lauria <awlauria@us.ibm.com>
2020-03-05 16:44:18 -05:00
Gilles Gouaillardet
5751dfe91a mpi/c: fix memchecker invokation
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2020-03-05 16:10:42 -05:00
Jeff Squyres
af1ec9a594
Merge pull request #7323 from bosilca/fix/7320
Trap wrong parameters to MPI_Init_thread.
2020-02-27 06:28:44 -05:00
Tsubasa Yanagibashi
b604f1f1fe add a description in MPI_WIN_DETACH man page.
Signed-off-by: Tsubasa Yanagibashi <fj2505dt@aa.jp.fujitsu.com>
2020-02-27 18:19:55 +09:00
Tsubasa Yanagibashi
070d4c15bc update a description in MPI_Request_free man page.
Signed-off-by: Tsubasa Yanagibashi <fj2505dt@aa.jp.fujitsu.com>
2020-02-27 18:17:44 +09:00
Tsubasa Yanagibashi
6c342aef68 fix some typos and spacing in man pages.
Signed-off-by: Tsubasa Yanagibashi <fj2505dt@aa.jp.fujitsu.com>
2020-02-27 18:14:26 +09:00
Nathan Hjelm
0b8baa217d ompi: remove obsolete c++ bindings
This commit contains the following changes:

The C++ bindings were removed from the standard in MPI-3.0. This
commit removes the entirety of the C++ bindings as well as the
support configury.

Removes all references to C++ from the man pages. This includes the
bindings themselves, all references to what C++ bindings return,
all not-available comments, and differences between C++ and other
language bindings.

If the user passes --enable-mpi-cxx, --enable-mpi-cxx-seek, or
--enable-cxx-exceptions, print a warning message an abort configure.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Signed-off-by: Nathan Hjelm <hjelmn@google.com>
2020-02-26 13:04:55 -08:00
Thomas Jahns
8ecbe1ce97 Fix incorrect argument in manual page.
Signed-off-by: Thomas Jahns <jahns@dkrz.de>
2020-02-21 11:25:38 +01:00
Gilles Gouaillardet
174e967dbc
Remove ORTE project
Will be replaced by PRRTE. Ensure that OMPI and OPAL layers build
without reference to ORTE. Setup opal/pmix framework to be static.
Remove support for all PMI-1 and PMI-2 libraries. Add support for
"external" pmix component as well as internal v4 one.

remove orte: misc fixes

 - UCX fixes
 - VPATH issue
 - oshmem fixes
 - remove useless definition
 - Add PRRTE submodule
 - Get autogen.pl to traverse PRRTE submodule
 - Remove stale orcm reference
 - Configure embedded PRRTE
 - Correctly pass the prefix to PRRTE
 - Correctly set the OMPI_WANT_PRRTE am_conditional
 - Move prrte configuration to the end of OMPI's configure.ac
 - Make mpirun a symlink to prun, when available
 - Fix makedist with --no-orte/--no-prrte option
 - Add a `--no-prrte` option which is the same as the legacy
   `--no-orte` option.
 - Remove embedded PMIx tarball. Replace it with new submodule
   pointing to OpenPMIx master repo's master branch
 - Some cleanup in PRRTE integration and add config summary entry
 - Correctly set the hostname
 - Fix locality
 - Fix singleton operations
 - Fix support for "tune" and "am" options

Signed-off-by: Ralph Castain <rhc@pmix.org>
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2020-02-07 18:20:06 -08:00