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

1516 Коммитов

Автор SHA1 Сообщение Дата
Ralph Castain
09963affba Further detail check for external PMIx
Per today's telecon, check for supported version and do not use anything less than 1.2.x. Sadly, we don't include the last piece of the version triplet in the version file and so we cannot check for 1.2.5.

If someone explicitly points us at an external installation that isn't acceptable, then error out

Add PMIx support to summary

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2018-07-10 16:12:52 -07:00
Ralph Castain
fdca304268 Default to external PMIx installation
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2018-07-10 16:12:52 -07:00
Jeff Squyres
4c0e0c3206
Merge pull request #5403 from mkre/master
Fix output of XPMEM detection in configure summary
2018-07-10 16:33:55 -04:00
Moritz Kreutzer
d0a770c8d0 Fix output of XPMEM detection in configure summary
Signed-off-by: Moritz Kreutzer <mokreutzer@gmail.com>

Refs open-mpi/ompi#5377
2018-07-10 15:10:51 +02:00
Sergey Oblomov
64212a9ff1 OSHMEM/ATOMICS: added C implementation of and/or/xor ops
- added implementation and/or/xor operations for post and
  fetch-op notations
- implemented basic and UCX transports, mxm added
  NON-IMPLEMENTED wrapper
- updated C interfaces only (fortran will be added later)
- existing API is not updated to spec v1.4

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-09 16:18:47 +03:00
Sergey Oblomov
13331ba4d8 MCA/COMMON/UCX: code beautify + build fix
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-02 16:37:03 +03:00
Sergey Oblomov
8a793bb279 MCA/COMMON/UCX: fixed build issues
- fixed fuild issues when used older UCX
- added non-blocking call of ucp_put call

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-02 15:58:08 +03:00
Sergey Oblomov
624d59604b MCA/COMMON/UCX: minor optimization of build scripts
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-06-28 12:58:07 +03:00
Sergey Oblomov
de8568c822 MCA/COMMON/UCX: enabled fallback into older UCX API
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-06-27 19:59:40 +03:00
Sergey Oblomov
1223b05811 MCA/COMMON/UCX: fixed build scripts
- updated evaluation of UCX lib - used call from UCX v1.3
- updated makefile compilation flags

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-06-27 11:10:25 +03:00
Gilles Gouaillardet
383f23bf35 ompi/request: implement MPI Generalized request extensions
so latest ROM-IO can be used with Open MPI.

Note this first and naive implementation does not use the wait_fn callback.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-06-26 10:52:18 +09:00
Nathan Hjelm
c5c5b42307 btl: add a new btl for the UCT layer in OpenUCX
This commit adds a new btl for one-sided and two-sided. This btl
uses the uct layer in OpenUCX. This btl makes use of multiple uct
contexts and per-thread device pinning to provide good performance
when using threads and osc/rdma. This btl has been tested extensively
with osc/rdma and passes all MTT tests on aries and IB hardware.

For now this new component disables itself but can be enabled by
setting the btl_ucx_transports MCA variable with a comma-delimited
list of supported memory domains/transport layers. For example:
--mca btl_uct_memory_domains ib/mlx5_0. The specific transports used
can be selected using --mca btl_uct_transports. The default is to use
any available transport.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-06-25 18:14:58 -06:00
Gilles Gouaillardet
c9d3c81cbf configury: define C11 macros once
Revamp OPAL_PROG_CC_C11 macro in order to define macros only once.
Otherwise, macros get redefined during the configure process and
issue a bunch of warning in config.log. That would also cause
Open MPI fail to build if compiled with "-Werror"

Refs. open-mpi/ompi#5190

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-06-19 11:18:41 +09:00
Ralph Castain
e2e6da4379
Merge pull request #5258 from rhc54/topic/pmix4
Sync to PMIx v3.0rc and add ext4x
2018-06-15 09:41:08 -07:00
Thananon Patinyasakdikul
469a404c3b opal/thread: Added keyword opal_thread_local for TLS.
configure: add checks for `__thread` on top of current check for `_Thread_local` and define OPAL_HAVE_THREAD_LOCAL if the compiler support TLS.

Added `opal_thread_local` keyword to unify the definition.

Signed-off-by: Thananon Patinyasakdikul <thananon.patinyasakdikul@intel.com>
2018-06-14 13:25:04 -07:00
Ralph Castain
48f27655a6 Sync to PMIx v3.0rc and add ext4x
Sync to the draft rc for PMIx v3.0. Add an external component for PMIx master, which is at v4.0

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2018-06-11 05:54:23 -07:00
KAWASHIMA Takahiro
317e53f83f
Merge pull request #5243 from t-kurita/pr/mpiext-mpi-f08-logical
Fortran: Enable using `LOGICAL` parameter in MPI extensions.
2018-06-08 13:11:13 +09:00
Kurita, Takehiro
f9ae932bfd Fortran: Enable using LOGICAL parameter in MPI extensions.
If a subroutine of the Fortran `use-mpi-f08` binding in an MPI extension
have a `LOGICAL` parameter and no `TYPE(MPI_Status)` parameter,
it needs to use the `mpi_ext` module and call its corresponding subroutine
in the `mpif-h` directory, as explained in
`ompi/mpi/fortran/use-mpi-f08/mpi-f-interfaces-bind.h`.
However, as shown in the figure below, the required directories are dependent
on each other, and "Can't open module file" error occurs at build time.

             ompi/mpiext/{extension name}/use-mpi-f08
                A                               |
                |                               |
                |                               V
   ompi/mpi/fortran/use-mpi-f08  <---  ompi/mpi/fortran/mpiext (mpi_ext.mod)

In order to solve this problem, change the configuration and the build order.
- divide Fortran extension directory (`ompi/mpi/fortran/mpiext`)
  into the directories for `use-mpi` and for `use-mpi-08`
    - `ompi/mpi/fortran/mpiext-use-mpi`     : for `use-mpi` (mpi_ext.mod)
    - `ompi/mpi/fortran/mpiext-use-mpi-f08` : for `use-mpi-08` (mpi_f08_ext.mod)

- change to the following build order about Fortran `use-mpi` and
  `use-mpi-f08` bindings in `ompi`
    1. mpi_ext bindings of MPI extensions (`mpiext/{extension name}/use-mpi` directory)
    2. Fortran use-mpi (`mpi/fortran/use-mpi-[ignore-]tkr` directory)
    3. Fortran extension for use-mpi (`mpi/fortran/mpiext-use-mpi` directory)
    4. Fortran use-mpi-f08 modules only (`mpi/fortran/use-mpi-f08/mod` directory)
    5. mpi_f08_ext bindings of MPI extensions (`mpiext/{extension name}/use-mpi-f08` directory)
    6. Fortran use-mpi-f08 (`mpi/fortran/use-mpi-f08` directory)
    7. Fortran extension for use-mpi-f08 (`mpi/fortran/mpiext-use-mpi-f08` directory)

Signed-off-by: Kurita, Takehiro <fj6370fp@aa.jp.fujitsu.com>
2018-06-07 15:02:17 +09:00
Ralph Castain
06eb51161f Rename prun ompi-prun
This is a minor abstraction break in naming, but hopefully acceptable for now. I will update the contents of the program a little later. This resolves the immediate issue of naming conflict with the PRRTE binary.

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2018-06-06 07:40:03 -07:00
Nathan Hjelm
89da9651bb ompi: disable functions removed from MPI-3.0 by default
This commit adds a new configure option: --enable-mpi1-compat. Without
this option we will no longer provide APIs, typedefs, and defines that
were removed from the standard in MPI-3.0. This option will exist for
one major release (Open MPI v4.x.x) and then the option and associated
code will be removed in Open MPI v5.x.x. Open MPI has already
internally prepared for this change. Please prepare your codes
accordingly.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-05-31 09:44:19 -06:00
Brian Barrett
9fff40647d oshmem: disable if no spmls build
This patch disables the oshmem layer if there are no SPMLs that
will build.  With the limited set of SPMLs available to support
oshmem, many builds end up installing an oshmem library that we
know will not work.  There has been a bit of customer confusion
over oshmem, hopefully this will lead customers in the right
direction.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2018-05-25 08:48:50 -07:00
Brian Barrett
22bdf85299 dist: Add infrastructre for prjects to not build
Two related changes to allow projects to not build based on
configure test results, as opposed to only reacting to
user configure options today.  Use case is disabling a project
like oshmem because no communication channels can be built.

First, Move PROJECT_* AM_CONDITIONALs from the top of configure to
the bottom, so that we can change the results during configure.
Second, add a DIST_SUBDIRS to Makefile.am (and populate it in
opal_mca) so that "make dist" will work even when a project is
disabled.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2018-05-25 08:48:50 -07:00
Brian Barrett
70b154f7ff oshmem: Update config code to match OMPI usage
enable_oshmem holds the result of a customer decision and, like
most user options, can have the values "yes" (user wants us to
build feature), "no" (user wants us not to build feature),
"" (user wants us to figure it out), and "<something>" (user
wants us to build feature, with <something> turned on).

This change updates oshmem to not lose this data by not overwriting
enable_oshmem with a yes/no and leaving the original customer
intent in place.  Aside from fixing one bug (below) there are no
customer visible changes in this patch, but it makes it possible
to do the right thing in the upcoming work to allow oshmem to be
disabled based on test results.

There was a cosmetic bug in the existing code where specifying
a feature argument (like --enable-oshmem=awesome) would result
in the "checking if want oshmem" test reporting no, but oshmem
being built anyway.  With this cleanup, the "checking if want
oshmem" test, the final output summary, and what actually happens
will all match.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2018-05-25 08:48:50 -07:00
Ben Menadue
53fda14680 configure: use AC_LINK_IFELSE instead of AC_COMPILE_IFELSE when testing for C11 features to prevent e.g. _Static_assert being treated as an implicitly-defined function.
Signed-off-by: Ben Menadue <ben.menadue@nci.org.au>
2018-05-23 15:25:47 +10:00
Jeff Squyres
9f21ea437c java: clean up MPI Java configury
The Java configury is split into two parts:

1. Determine if we want MPI Java bindings.
2. Find the Java compiler (and related).

This commit does a few things:

- Move the "Find the Java compiler" step from OPAL to OMPI (because
  there is no Java in OPAL, and there doesn't appear to be any
  immanent danger that there will be).
  - As a direct consequence, remove the --enable-java CLI option
    (--enable-mpi-java still remains).  Enabling the MPI Java bindings
    and enabling Java are now considered the same thing (since there
    is no Java elsewhere in the code base, the different was
    meaningless).
- Only invoke the "Find the Java compiler" step if we actually want
  the MPI Java bindings.
- A few miscellaneous Java-related cleanups in configury (E.g., change
  testing "$foo" == "1" to $foo -eq 1, etc.

This commit is mostly s/opal/ompi/gi in many places in configury and
shifting code around.  But it looks bigger than it actually is because
of two reasons:

1. Some files were renamed:
   * ompi_setup_java.m4 -> ompi_setup_mpi_java.m4 (setup MPI Java bindings)
   * opal_setup_java.m4 -> ompi_setup_java.m4 (setup Java compiler)
2. Indenting level changed in (the new) ompi_setup_java.m4.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2018-05-15 15:15:22 -07:00
Bryce Glover
4a05c7e29f config/opal_setup_java.m4: Fix #5015.
That PR accidentally changed Open MPI's build configuration infrastruc-
ture's Java toolchain detection logic so that it would, as reported by @bosilca
in https://github.com/open-mpi/ompi/pull/5001#issuecomment-387803012 and tracked down by me in https://github.com/open-mpi/ompi/pull/5001#issuecomment-387851005, abort your entire
in-progress Open MPI build when it failed to find an OS X/macOS JDK instead of
simply falling back to checking for a JDK in locations where it would be found
on other platforms.  _Oops…!_

Signed-off-by: Bryce Glover <RandomDSdevel@gmail.com>
2018-05-09 17:37:33 -04:00
Bryce Glover
8c32cd8970 config/opal_setup_java.m4: Improve JDK tool path resolution on OS X/macOS.
Also avoid picking up Apple's Java shims via the sym. links to them in
`/usr/bin` on systems where any one of them could possibly exhibit behavior
that is erratic and, to some extent, likely to be incorrect nowadays (cf.:

- https://www.mail-archive.com/devel@lists.open-mpi.org/msg20551.html
- https://github.com/open-mpi/ompi/pull/5015#issuecomment-379324639
- the last part  of
  https://github.com/open-mpi/ompi/pull/5015#discussion_r184187064
- https://github.com/open-mpi/ompi/pull/5015#issuecomment-384136871

for more detailed context.)

Works alongside #5001 to close #5000.

Signed-off-by: Bryce Glover <RandomDSdevel@gmail.com>
2018-04-26 17:14:07 -04:00
Edgar Gabriel
26e0894f24 config/ompi_check_pvfs2.m4: respect the --without-pvfs2 flag
similar patch to the lustre version, abandon the configure
macro for the pvfs2 components if the user explicitely told you
to do that.

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2018-04-25 14:39:18 -05:00
Edgar Gabriel
aec2b9845a config/ompi_check_lustre.m4: respect the --without-lustre flag
make sure we actually respect if the user set the --without-lustre
flag (instead of continuing in the m4 macro as was the case until now).

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2018-04-25 14:39:18 -05:00
KAWASHIMA Takahiro
a01d4654c8 configure: Fix typo in configure --help
This affects only output of `configure --help`.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2018-04-12 21:33:49 +09:00
luz.paz
06b121eb70 Misc. trivial typos
Found via `codespell -q 3`

Signed-off-by: luz paz <luzpaz@users.noreply.github.com>
2018-04-09 11:45:58 -04:00
Gilles Gouaillardet
5370586d98 configury: use javac vs javah whenever possible
javah is no more available from Java 10, so try
javac -h first (available since Java 8) and fallback on javah

Refs. open-mpi/ompi#5000

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-04-05 10:37:35 +09:00
Themos Tsikas
a8fc30f95a configury: Make more robust in finding NAG Fortran Compiler
The NAG Fortran check only matched "nagfor" exactly, and failed if a
path to nagfor was provided.  Also change "-pthread" into
"-Wl,-pthread".

Signed-off-by: Themos Tsikas <themos.tsikas@nag.co.uk>
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2018-03-02 10:50:37 -08:00
Gilles Gouaillardet
83dd8cd3fc configury: look for PMI header in DIR provided by --with-pmi=DIR
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-02-26 09:46:26 +09:00
Gilles Gouaillardet
b86e0f04bf configury: fix PMI detection
and do not end up with -L/usr/lib[64] when PMI libraries
are installed in the default location.

Thanks Davide Vanzo for the report.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-02-24 01:16:12 +09:00
Jeff Squyres
ff31da6f74 opal_check_attributes: fix __extension__ test
Per
https://gcc.gnu.org/onlinedocs/gcc/Alternate-Keywords.html#index-_005f_005fextension_005f_005f,
use __extension__ in a C statement that will actually verify if the
compiler supports it or not.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2018-01-23 13:44:43 -08:00
Ralph Castain
01e6539127 Revert "Filter /usr[/local]/include from opal CPPFLAGS when used explictly --with-package=DIR"
This reverts commit c4fe4ecfb9.

Revert "Fix  DIR, DIR/include search for --with-pmix"

This reverts commit 2e3f401763.

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2018-01-17 16:02:19 -08:00
Alex Mikheev
640e945b9c ompi: pml/ucx: blocking send using ucp_tag_send_nbr
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2018-01-17 15:54:18 +02:00
Philip Kovacs
c4fe4ecfb9 Filter /usr[/local]/include from opal CPPFLAGS when used explictly --with-package=DIR
Signed-off-by: Philip Kovacs <pkdevel@yahoo.com>
2018-01-16 16:45:20 -05:00
Philip Kovacs
2e3f401763 Fix DIR, DIR/include search for --with-pmix
Signed-off-by: Philip Kovacs <pkdevel@yahoo.com>
2018-01-10 17:17:48 -05:00
Ralph Castain
db8ebd33ad Fix the optnone attribute, add extension attribute
See how the various compilers handle these

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-12-18 19:18:53 -08:00
Ralph Castain
5c4185abd8 Add the __optnone__ attribute to help avoid optimizing out MPIR_Breakpoint
Thanks to @kiranchandramohan for the suggestion

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-12-14 13:14:21 -08:00
Nathan Hjelm
1e630f4a46 configure: check for C11 and atomic types
This commit updates the configure code for Open MPI to check for C11
support. The features requested are: atomics and thread local
storage.

References #3879

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-12-11 15:27:12 -07:00
Ralph Castain
3906aaf41a Silence warnings
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-11-25 11:50:18 -08:00
Gilles Gouaillardet
48a39e34f2 configury: misc fixes in zlib detection
- push extra local variables
 - remove unnecessary AC_MSG_RESULT

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-10-30 16:19:37 +09:00
Gilles Gouaillardet
5a816a98df configury: fix handling of --with-zlib=DIR and --with-zlib-libdir=DIR option
- if --with-zlib=DIR --with-zlib-libdir=LIBDIR are given, do not search
   libs in DIR/lib[64], and do not abort if libs are not there
 - if --with-zlib=DIR is given but not --with-zlib-libdir, then do append
   -LDIR/lib[64] to LDFLAGS

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-10-27 14:47:47 +09:00
Gilles Gouaillardet
af03f55aa8 configury: revamp ucx detection
- when --with-ucx=DIR is not set, try the default path and fallback to /opt/ucx
 - when --with-ucx-libdir is not set, try lib64 and then lib directories
 - do not handle --with-ucx-libdir (this is a user mistake, no need to over-complicate our logic)

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-10-24 09:27:57 +09:00
Gilles Gouaillardet
db2f3643d7 configury: enhance external PMIx detection - add the --with-pmix-libdir=DIR option look for libpmix.* libs in DIR, DIR/lib64 and DIR - if --with-pmix=DIR is given, look for libpmix.* in DIR/lib64 and DIR/lib
Fixes open-mpi/ompi#4347

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-10-17 17:03:01 +09:00
Jeff Squyres
fba6990328 Merge pull request #4330 from jsquyres/pr/configure-option-for-show-load-errors
configure: add --en|disable-show-load-errors-by-default
2017-10-12 10:42:33 -04:00
Nathan Hjelm
1c52d9dffe opal/asm: clean up no longer supported architectures
We no longer officially support MIPS or ARM before v6. This commit
updates the configury to check for sync builtins on these
architectures and removes the MIPS and IA64 assembly from
opal/include/opal/sys.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-10-11 13:09:29 -06:00
Jeff Squyres
5705192151 configure: add --en|disable-show-load-errors-by-default
Give packagers a configure CLI option to set the value of the MCA
variable mca_base_component_show_load_errors.

The --disable form of this option is intended for Open MPI packagers
who tend to enable support for many different types of networks and
systems in their packages.  For example, consider a packager who
includes support for both the FOO and BAR networks in their Open MPI
package, both of which require support libraries (libFOO.so and
libBAR.so).  If an end user only has BAR hardware, they likely only
have libBAR.so available on their systems -- not libFOO.so.  Disabling
load errors by default will prevent the user from seeing potentially
confusing warnings about the FOO components failing to load because
libFOO.so is not available on their systems.

Conversely, system administrators tend to build an Open MPI that is
targeted at their specific environment, and contains few (if any)
components that are not needed.  In such cases, they might want their
users to be warned that the FOO network components failed to load
(e.g., if libFOO.so was mistakenly unavailable), because Open MPI may
otherwise silently failover to a slower network path for MPI traffic.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2017-10-11 11:02:21 -07:00
Jeff Squyres
60a810c88b Merge pull request #4016 from jsquyres/pr/libnl-you-win-again
opal_check_libnl: it's not a fatal error if libnl check fails
2017-09-25 11:53:38 -04:00
Jeff Squyres
0568f4a820 opal_check_libnl: remove abort on libnl check failure
Per https://github.com/open-mpi/ompi/issues/3995, it should not be a
fatal error if the libnl checks fail.  Instead, just fail the check
and let the upper layer decide what to do.  In this case,
OPAL_CHECK_PACKAGE will mark this library as no good, and then
propagate that upward.

E.g., if libfoo fails the libnl check, and the user had specified
--with-libfoo, this will eventually cause configure to fail (because
the libnl check will fail with libfoo, which will cause
OPAL_CHECK_PACKAGE to fail with libfoo, which will ultimately cause
some upper-level logic to realize "a human asked for libfoo but we
could not provide it -- abort!").

However, if libfoo fails the libnl check and the user did *not*
specify --with-libfoo, then this will cause the upper layer to
silently skip libfoo (because the libnl check will fail libfoo, which
will cause OPAL_CHECK_PACKAGE to fail libfoo, but then the upper-level
logic will realize "oh, we can't use libfoo, but a human didn't ask
for it -- so just skip libfoo support.").

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2017-09-25 07:49:43 -07:00
Gilles Gouaillardet
e28cc8c986 configury: reset all flags if libnl v3 cannot be used
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-09-25 17:21:47 +09:00
Ralph Castain
5fed7330e7 Update the configure logic to separate the emitting of a libpmix library from with-devel-headers. Instead, we create a new --enable-install-libpmix expressly for that
purpose. Continue to link the new library back to libopen-pal to resolve the renamed symbols.

Update opal configure logic to set disable_dlopen when disable_mca_dso is given. Fix typos in disable_dlopen when setting variables (incorrect inclusion of quotes)

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-09-22 16:02:57 -07:00
Gilles Gouaillardet
94747a1d28 configury: do not use libnl-3 when it is half broken
Refs. open-mpi/ompi#4211

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-09-21 15:27:59 +09:00
Gilles Gouaillardet
b9315edb85 configury: remove the --disable-mpi-io option
Fixes open-mpi/ompi#2185

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-09-20 14:39:09 +09:00
Ralph Castain
08c93091f7 Merge pull request #4223 from rhc54/topic/stale
Remove stale tools
2017-09-18 09:43:06 -07:00
Josh Hursey
5cb5eb68f5 Merge pull request #4204 from jjhursey/fix/master/without-lsf
Fix --without-lsf and LSF in default search path
2017-09-18 11:04:02 -05:00
Ralph Castain
ed508010b4 Remove stale tools
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-09-18 07:30:47 -07:00
Ralph Castain
bbd83fd4c0 Add a new launcher "prun" for starting applications against the ORTE DVM.
Unlike "orterun", "prun" is a PMIx-only program that discovers the DVM connection instead of requiring that we explicitly provide it. Only build "prun" if PMIx v2.x is available.

This gets the DVM working again, but still is showing problems for multiple executions. I'll detail those in a separate issue. Thus, the DVM should still be considered "broken".

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-09-12 21:40:41 -07:00
Joshua Hursey
24a8b5c574 config/lsf: Fix case where --without-lsf and LSF in CFLAGS/LDFLAGS seach path
* Reference Issue #3546
 * If the user specified `--without-lsf` then do not check for it
   on the system, even if it is there. This can lead to the build
   failure identified in the issue above.

Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2017-09-12 21:17:37 -04:00
Joshua Hursey
fe97d3ef5a config/withdir: Make case for --without-X more clear
* Will display a message acknowledging the configure setting
   instead of 'simple ok' which is misleading.

Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2017-09-12 21:17:07 -04:00
Joshua Hursey
39a83a25c1 config/lsf: Adjust whitespace
* Spaces not tabs, and indent properly
 * No functional changes here

Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2017-09-12 21:16:33 -04:00
Jeff Squyres
89c860b4fc Merge pull request #4154 from ggouaillardet/topic/opal_setup_wrappers
configury: revamp opal_setup_wrappers.m4
2017-09-01 10:03:46 -04:00
Gilles Gouaillardet
d1740a679c oshmem: add C++ wrappers
though there are no C++ bindings for oshmem, we need C++ wrappers
since a C compiler might not be able to compile a C++ source.
the C++ wrappers are :
- shmemc++ / oshc++
- shmemcxx / oshcxx
- shmemCC / oshCC (on case sensitive filesystems)

also add the examples/hello_oshmem_cxx.cc example

Thanks Bert Wesarg for bringing this to our attention

Fixes open-mpi/ompi#2097

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-09-01 13:24:34 +09:00
Gilles Gouaillardet
cf2a80d215 configury: fix indentation in opal_setup_wrappers.m4
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-09-01 09:09:01 +09:00
Gilles Gouaillardet
0fe7757097 configury: revamp opal_setup_wrappers.m4
Define OPAL_EVAL_LIBTOOL() macro and factorize some code

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-09-01 09:08:26 +09:00
Gilles Gouaillardet
d8c795e312 configury: revamp opal_setup_wrappers.m4
Define OPAL_EVAL_LIBTOOL() macro and factorize some code

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-09-01 08:59:56 +09:00
Josh Hursey
e0931714ea Merge pull request #4090 from jjhursey/config/old-xl-ppc-support
config: Remove support for big endian PPC, XL compiler older than 13.1
2017-08-16 15:31:35 -05:00
Joshua Hursey
12a015d90f config: Remove support for big endian PPC, XL compiler older than 13.1
* Removes support for big endian PPC
 * Removes support for XL compiler older than 13.1
 * Fixes Issue #4053

Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2017-08-15 17:01:36 -04:00
Jeff Squyres
0414c0c9d7 Merge pull request #3757 from ggouaillardet/topic/enable_builtin_atomics
configury: abort when builtin atomics cannot be built and configure'd…
2017-08-14 15:22:18 -04:00
Jeff Squyres
791bcee6c0 ompi/fortran: remove proof-of-concept mpi_f08 module
This module was always intended to be a proof of concept, and was far
from complete.  If/when someone implemented F08 descriptor support for
the mpi_f08 module, this commit can either be restored or used as
reference material.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2017-08-10 06:19:17 -07:00
Gilles Gouaillardet
344f000841 configury: enable Fortran 2008 subarray prototype
so Open MPI can be configure'd with --enable-mpi-f08-subarray-prototype

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-08-09 13:33:33 +09:00
Gilles Gouaillardet
2c71c27882 fortran2008: fix mpiext example
in order to solve an egg and the chicken problem,  in which mpiext need mpi-f08-types.mod
and/but use-mpi-f08[-desc] needs mpiext, add an extra step
- build fortran 2008 modules only
- build fortran 2008 mpi extensions
- and then build fortran 2008 bindings

Fixes open-mpi/ompi#3605

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-08-09 13:19:22 +09:00
Howard Pritchard
8223d4cba0 btl/openib: disable XRC by default
Change the default enable configure option XRC to disabled.  If a user want's
to give it a try they have to explicitly ask for it.

Modify the configury help message to indicate it is not enabled by default.

Related to #3890
Fixes #3969

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-08-04 09:42:12 -06:00
Ralph Castain
f128b4c546 Fix incorrect usage of '==' in test comparisons
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-08-03 21:21:26 -07:00
Joshua Ladd
c27beea3a1 Merge pull request #3962 from karasevb/ucx_detect
configure: detect UCX support by default
2017-08-03 16:33:57 -04:00
Nathan Hjelm
ebce88b7ad opal: remove generated asm code
Every modern compiler supports either inline assembly or builtin atomic
operations. Because of this it is time to delete all the code associated
with pre-built atomics.

This commit also clean out the DEC and XLC asm checks. Neither check
does anything and the XLC compiler supports GCC ASM.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-08-03 09:18:58 -06:00
Nathan Hjelm
35c9b93754 config: remove erroneous define
This removes a copy-and-paste error where we were setting the
OPAL_ASM_SYNC_HAVE_64BIT more than once.

References #3993. Close when on master and v3.0.x.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-08-01 14:53:35 -06:00
Boris Karasev
cc348fdb40 configure: adds detect UCX by pkg-config
Signed-off-by: Boris Karasev <karasev.b@gmail.com>
2017-07-26 17:58:24 +06:00
Boris Karasev
d917d54ddc configure: detect UCX support by default
Adds detecting UCX from following paths: "/usr /usr/local /opt/ucx"

Signed-off-by: Boris Karasev <karasev.b@gmail.com>
2017-07-25 23:48:49 +03:00
Edgar Gabriel
bc8f642211 fs/lustre: update lustre header file used in the component
liblustreapi.h is at this point deprecated. Switch to lustreapi.h instead

fixes issue #3223

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2017-07-17 10:33:52 -05:00
Gilles Gouaillardet
f99667372f Merge pull request #3848 from ggouaillardet/topic/pbspro_libcrypto
configury: fix PBS Pro support
2017-07-12 21:01:58 +09:00
Gilles Gouaillardet
c36b9e8888 Revert "Remove --enable-heterogeneous until fix is ready"
This reverts commit open-mpi/ompi@8e25733760.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-07-12 10:27:30 +09:00
Gilles Gouaillardet
275f31e6aa configury: fix PBS Pro support
recent versions of PBS Pro requires libcrypto.so, but libpbs.so
does not (yet) depend on it, so manually add -lcrypto if -lpbs alone fails.

Thanks Petr Hanousek for bringing this to our attention

Refs PBSPro/pbspro#331

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-07-12 10:01:56 +09:00
Joshua Hursey
20ac03c063 config/fortran: Add note about why we reverted PR #3822
* This should be enough of a breadcrumb for when we get to fixing the
   `INTERFACE` check to be strong enough to kick out gfortran 4.8

Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2017-07-11 11:09:27 -05:00
Joshua Hursey
c81795cbda Revert "Fix MPI_SIZEOF for gfortran 4.8"
This reverts commit 5de3d5dde6.

 Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2017-07-11 11:09:17 -05:00
Ralph Castain
c632784ca3 Merge pull request #3835 from rhc54/topic/hetero
Remove --enable-heterogeneous until fix is ready
2017-07-07 10:57:12 -07:00
Ralph Castain
8e25733760 Remove --enable-heterogeneous until fix is ready
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-07-07 10:09:30 -07:00
Chris Ward
5de3d5dde6 Fix MPI_SIZEOF for gfortran 4.8
Add copyrights.

Revise the README to take out the 'most notably' statement about GNU Fortran 4.8

Signed-off-by: Chris Ward <tjcw@uk.ibm.com>
2017-07-07 13:47:35 +01:00
Gilles Gouaillardet
e77874bbaf configury: fix gcc builtin atomic detection
test for both 32 and 64 bits.
clang only support 32 bits builtin atomics when -m32 is used

Thanks Paul Hargrove for reporting this.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-07-04 09:47:45 +09:00
Gilles Gouaillardet
409a3bfdbd configury: abort when builtin atomics cannot be built and configure'd with --enable-builtin-atomics
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-06-26 11:42:51 +09:00
Nathan Hjelm
bc54c99e12 configure: add builtin asm check for s390/s390x
We accepted a change that enabled CMA on s390 and s390x. This change
had the side-effect that we were no longer using the builtin atomics
for these systems. This is a problem since we do not have ASM for
s390 and s390x. This commit restores the atomics.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-06-23 08:27:48 -06:00
Gilles Gouaillardet
72c7329462 configury: use 'uname -n' when 'hostname' is not available
the 'hostname' command might not be available on some platforms
such as Fedora Core 26, so mimick config/libtool.m4 and fallback
to 'uname -n' if needed

Refs. #3680

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-06-12 15:04:32 +09:00
KAWASHIMA Takahiro
63f0945dcc java: Detect the path of javadoc in configure
Without this change, the directory of `javadoc` command must be
included in the `PATH` environment variable at `make`-time.
Paths of `javac`, `javah`, and `jar` commands are detected in
`configure`. So the path of `javadoc` also should be detected.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2017-05-31 14:26:14 +09:00
Howard Pritchard
de92d1b9ce Merge pull request #3506 from hppritcha/topic/fix_issue_1089
configury: add option to disable enable-new-dtags
2017-05-30 19:56:14 -06:00
Howard Pritchard
ebb30c15f2 configury: add option to disable enable-new-dtags
The --enable-new-dtags option for the compiler wrappers is
often great, but for some particular install/usage scenarios
causes issues.

This commit provides a new configury option to use of rpath
in the compiler wrappers, but disables the
use of --enable-new-dtags in the link line.

The new configury option is

--enable-wrappers-runpath

To disable use of --enable-new-dtags in the wrappers, add

--disable-wrappers-runpath

to the Open MPI configury line.

Fixes #1089

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-05-22 17:45:18 -05:00
Jeff Squyres
7185567d50 Merge pull request #3455 from jsquyres/pr/fix-lustre-configure
Lustre configure fixes
2017-05-08 16:49:23 -04:00
Ralph Castain
a143800bce Enable full operations under SLURM on Cray systems by co-locating a daemon with mpirun when mpirun is executing on a compute node in that environment. This allows local application procs to inherit their security credential from the daemon as it will have been launched via SLURM
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-05-06 19:08:50 -07:00