1
1
Граф коммитов

1602 Коммитов

Автор SHA1 Сообщение Дата
Michael Heinz
e21c31f54c
Merge pull request #7722 from mwheinz/mwheinz-7721
Add check for PSM2 reference counting to PSM2 MTL #7721
2020-05-19 08:06:41 -04:00
Michael Heinz
f10305a49f Add check for PSM2 reference counting to PSM2 MTL #7721
As discussed, a feature is being added to libpsm2 to correctly handle
the case where the library is opened by multiple OMPI transports in the same
process. (For example, the OFI BTL and the PSM2 MTL).

* Improved error message to indicate required libpsm2 version.

* Adds a test at autogen/configure time for the existence of
  PSM2_LIB_REFCOUNT_CAP.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Signed-off-by: Michael Heinz <michael.william.heinz@intel.com>
2020-05-18 15:25:22 -04:00
Ralph Castain
4468691eeb
Sync up with PRRTE and cleanup stale code
Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-05-16 14:48:31 -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
Sergey Oblomov
75bda25ddb OPAL/UCX: enabling new API provided by UCX
- added detection of new API into configuration
- added tag_send call implemented using new API
- added MPI_Send/MPI_Isend/MPI_Recv/MPI_Irecv implementations

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2020-05-01 17:58:29 +03:00
Howard Pritchard
ee9baf0a3c
Merge pull request #7656 from hppritcha/topic/fix_issue_7580
rework check lustre config to avoid rpath lib64
2020-04-24 09:38:42 -06:00
Howard Pritchard
ea690d008b rework check lustre config to avoid rpath lib64
The original configury check for lustre was ending up rpathing in /usr/lib64 in
the compiler wrapper scripts.  This commit fixes that issue.

related to #7580

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2020-04-24 08:56:33 -06:00
Ralph Castain
60c650e79b
Ensure "mpirun --version" reports as Open MPI
Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-04-22 15:11:21 -07:00
Jeff Squyres
fc0f0b38fd
Merge pull request #7590 from jsquyres/pr/update-to-https
Update text references to HTTPS
2020-04-02 20:46:58 -04:00
Jeff Squyres
a7e4ca4dc0 Fortran: fix the F90 compiler preprocessor check
Only check the if the Fortran compiler needs additional CLI flags for
preprocessing .F90 files if we actually have an F90 compiler.

Also fix a the AC_MSG_* usage.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2020-04-02 16:12:09 -07:00
Ralph Castain
44c97e3842
Update again and hope to fix the integration points
Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-04-02 11:58:58 -07: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
Ralph Castain
8615761470
Incremental step forward on configury for PRRTE
Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-04-02 07:40:46 -07:00
Ralph Castain
50d05e7b64
Revert "Add extra libs to PRRTE binaries for external deps"
This reverts commit 1aabbe456d.

Update PMIx and PRRTE, plus PRRTE config integration

Cleanup how we pass the extra libs and LDFLAGS for linking against
external libevent, hwloc, and pmix installs.

Catch the flag indicating that PMIx provided the user-level default MCA
params so we don't go looking for them ourselves.

Cleanup misc config warnings

Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-04-01 20:17:32 -07:00
Gilles Gouaillardet
a2c711b54b configury: try if -fpp flag is needed to preprocess .F90 files
.F90 files are preprocessed by gfortran and other compilers.
NAG compilers only preprocess .{ff,ff90,ff95} files, and the -fpp
flag is required to process .F90 files.

Fixes open-mpi/ompi#7583

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2020-04-01 16:26:47 +09:00
Ralph Castain
538d2de860
Merge pull request #7566 from rhc54/topic/up2
Update PMIx and PRRTE
2020-03-31 10:29:19 -07:00
Ralph Castain
1aabbe456d
Add extra libs to PRRTE binaries for external deps
libevent, hwloc, and pmix can be external and may require that their
libs be explicitly linked into the PRRTE binaries

Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-03-30 16:06:40 -07: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
Howard Pritchard
f136a20cae
Merge pull request #6578 from hppritcha/topic/thread_framework2
Implement a MCA framework for threads
2020-03-27 15:55:48 -06: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
Austen Lauria
8128c309c8
Merge pull request #6080 from ggouaillardet/topic/configury_lustre
configure: fix lustre detection
2020-03-27 09:24:08 -04:00
Ralph Castain
95dacd2086
Fix singletons and ensure adequate PMIx version
OMPI can only support PMIx v3 and above. PRRTE requires at least PMIx
v4, so protect against the case where OMPI is built against an external
PMIx v3.

Fix check of PMIx_Init return code for singleton operations.

Ensure that the PMIx framework gets properly opened.

Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-03-23 10:29:42 -07:00
Jeff Squyres
cb1e424359 opal_check_pmi.m4: properly save top-level flags
CPPFLAGS, LDFLAGS, and LIBS were only being saved conditionally, but
restored unconditionally.  This could result in wiping out
CPPFLAGS/LDFLAGS/LIB.

Make sure to *always* save these flags so that when they are restored,
they are restored to their proper value.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2020-03-17 22:15:41 -04:00
Nathan Hjelm
a6212fe767 configure: use -iquote for non-system include paths
This fixes a bug in the configuration system identified by a
change in the C++ standard. C++20 adds a new mandatory header
named version. This (and any system) header will always be
included with <> and not "". On case-insensitive filesystems
this new header conflicts with the VERSION file at the top
level of the build tree.

To fix this issue Open MPI needs to use -iquote instead of -I
for non-system include paths to ensure that these include are
only searched for the quote form of include. This commit also
adds a check to ensure that if the compiler does not support
-iquote that it falls back to -I until support can be added.

References #7155

Signed-off-by: Nathan Hjelm <hjelmn@google.com>
2020-03-09 21:18:40 -04:00
Jeff Squyres
2ffdea6f52 Remove a few more remnants of zlib
The compress framework was removed in 66da0c63, but these bits escaped
removal.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2020-03-03 08:48:47 -08:00
Ralph Castain
458b1563e2
Treat PMI-1/2 options the same
For consistency, allow the --without-pmi option

Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-02-29 11:44:11 -08:00
Ralph Castain
9b05b1c4a7
Tweak the C++ binding deprecation check
Some of us have platform files that expressly disabled C++ support.
While it is true that v5 no longer supports C++ and thus no longer needs
us to disable it, there seems no reason to make us create platform files
that differentiate based on OMPI version just for that reason.

So if someone asks to "disable" the no-longer-existing support, just
ignore it.

Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-02-29 10:57:45 -08:00
Jeff Squyres
f53abe416f Re-add debugger flag configury
Looks like this was mistakently removed in the conversion to PRRTE.
We still need CFLAGS_WITHOUT_OPTFLAGS for Open MPI's MPI debugger
interface.  Not having this functionality means that ompi/debuggers
was being compiled incorrectly, which led to -- among other things --
32 bit builds failing.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2020-02-29 07:08:12 -08:00
Howard Pritchard
31d7748afd
Merge pull request #7434 from hppritcha/topic/fix_a_config_with_ext_pmix_prob
fix an issue with configuring with external pmix
2020-02-27 12:19:02 -07:00
Jeff Squyres
ba1f016508
Merge pull request #7428 from hjelmn/finally_kill_the_old_cpp_bindings
ompi: remove obsolete c++ bindings
2020-02-26 17:40:25 -05:00
Nathan Hjelm
9cc0f6348d
Merge pull request #7453 from hjelmn/purge_sparc_v9_atomic_support_in_favor_of_just_builtins_for_this_platform
Purge Sparc v9 and sync atomics.
2020-02-26 14:39:46 -08: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
Nathan Hjelm
2277453737 opal: fix c11 compare-exchange 128-bit check
There were too many arguments being passed to the compare_exchange_strong
macro. This commit removes the extra arguments and restores the
functionality.

Signed-off-by: Nathan Hjelm <hjelmn@google.com>
2020-02-26 13:04:04 -08:00
Nathan Hjelm
489c0840d1 asm: cleanup
Remove ASM formats as they have not been used in some time.

Signed-off-by: Nathan Hjelm <hjelmn@google.com>
2020-02-26 13:04:04 -08:00
Nathan Hjelm
d2dd27b008 asm: remove support for Sparc v9
This commit removes the specialized support for Sparc v9 as the
architecture is unsupported. The architecture will continue to
work without CMA and using the GCC built-in atomic support.

Signed-off-by: Nathan Hjelm <hjelmn@google.com>
2020-02-26 13:04:04 -08:00
Nathan Hjelm
038dcad8b5 asm: remove support for __sync built-in atomics
This commit removes the unsupported __sync built-in atomics in
favor of the GCC built-ins. The priority order (if not modified
by configure flags) is: C11, custom atomics
(opal/include/opal/sys/*), then GCC built-ins.

Signed-off-by: Nathan Hjelm <hjelmn@google.com>
2020-02-26 06:30:34 -08:00
Nathan Hjelm
547d6c4380 asm: remove ARMv4 and ARMv5 CMA support
This commit removes the reference to ARMv4 and ARMv5. These are
unsupported architectures and no one is testing if CMA is working
on these systems.

Signed-off-by: Nathan Hjelm <hjelmn@google.com>
2020-02-26 06:25:10 -08:00
Nathan Hjelm
65a096116f opal: remove remaining atomic references to IA64
IA64 atomic support was deleted some time ago. Some of the references
to the architecture were not removed when the atomic support was. This
commit removes those lingering references. IA64 will continue to work
unsupported with the built-in atomics.

Signed-off-by: Nathan Hjelm <hjelmn@google.com>
2020-02-26 06:22:37 -08:00
Howard Pritchard
488f656c11 fix an issue with configuring with external pmix
External pmix installs are frequently in non-standard locations and
the path to their shared libraries are not ldconfig'd in because
there may be multiple pmix installs.

The way the configury was set up prior to this patch, the configuration
would fail soon after the PMIX config stuff was called because it
added some pmix lib stuff to the LDFLAGS, resulting in configury tests
for things that require running the configure test to fail.

This patch avoids this problem by resetting the LDFLAGS and LIBS back
to what they were prior to the run of the external PMIX detection.

The CFLAGS setting is left because there are many places in the ompi
and opal source code where pmix_common.h needs to be included.

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2020-02-23 13:04:24 -07:00
Ralph Castain
76b9c15825
Remove lingering ORTE references
Wrapper compiler is trying to link in a libopen-rte. Man pages are
setting an ORTE release date.

Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-02-22 07:59:19 -08:00
Ralph Castain
8d66045e95
Deprecate the enable-orterun-prefix-by-default options
Mark the --enable-orterun-prefix-by-default and
--enable-mpirun-prefix-by-default options as deprecated, but continue to
honor them by translating them to the new
--enable-prte-prefix-by-default option.

Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-02-21 08:02:13 -08:00
Jeff Squyres
3bfc7a7b62
Tweak: rename "deprecated" --> "deleted"
We're dealing with CLI options that have been deleted, not
deprecated.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
(cherry picked from commit 5aea4446288db9207fbc60f23ee903b149217121)
2020-02-21 07:33:05 -08:00
Ralph Castain
18ea9a13d8
Merge pull request #7431 from rhc54/topic/dep
Deprecate the --with-pmi option
2020-02-19 19:48:02 -08:00
Ralph Castain
7ebaee7437
Deprecate the --with-pmi option
Per the developer's meeting, add detection of the deprecated --with-pmi
(and its associated --with-pmi-libdir) configure option and error out
with a polite note of the change in support

Since "--with-pmi" now shows in the configure help output, mark the help
string with a giant *DEPRECATED* to warn users not to use it

Signed-off-by: Ralph Castain <rhc@pmix.org>

Ma

Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-02-19 14:39:45 -08:00
Nathan Hjelm
b2f17241b3
Merge branch 'master' into opal_atomics_clean_out_sparcv9_as_it_is_not_supported 2020-02-19 08:16:46 -08:00
Nathan Hjelm
9eb5ef92da opal/asm: remove MIPS
This commit removes the code specific to MIPS. This architecture
has been unsupported for some time. Open MPI will continue to work
on MIPS with C11 and __atomic but will not longer use CMA for
shared memory.

Signed-off-by: Nathan Hjelm <hjelmn@google.com>
2020-02-18 21:35:40 -08:00
Nathan Hjelm
3d1495510c opal/atomic: clean out s390(x)
This commit removes the CMA support for s390 and s390x. These
architectures have been unsupported for awhile and no one has
verified that CMA actually works with Open MPI on these systems.

s390 and s390x will continue to work with Open MPI without CMA.

Signed-off-by: Nathan Hjelm <hjelmn@google.com>
2020-02-18 21:14:10 -08:00
Jeff Squyres
3b7fd5ad0f
Merge pull request #7404 from jsquyres/pr/m4-holy-hell
opal_setup_cli.m4: do not escape $
2020-02-17 13:05:55 -08:00
Ralph Castain
edaf9160ae
Enable build against PMIx v2.2 without internal PRRTE
If you autogen.pl --without-prrte, we wouldn't configure or build PRRTE
support. However, configuring with --disable-internal-rte wasn't working
as it was being ignored. This led to some false errors when compiling
with an earlier PMIx v2.2 release.

That said, there were a couple of places that needed protection against
PMIx v2.2.

Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-02-15 16:28:16 -08:00
Jeff Squyres
04c50c668e opal_setup_cli.m4: do not escape $
We do not want to escape $, because the resulting quoted string ends
up in C code, and "\$" is not recognized by printf (and some compilers
warn about it).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2020-02-15 11:50:16 -08:00