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

1347 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
fb74c80e4b configury: fix OMPI_UNIQUE -> OMPI_FLAGS_UNIQUE
Looks like we missed one place where we needed to swap OMPI_UNIQUE for
OMPI_FLAGS_UNIQUE.  Thanks to Phil Tooley (@Telemin) for reporting the
issue.

Fixes #2635.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2016-12-27 13:36:53 -08:00
Jeff Squyres
678e314c0e opal_configure_options: remove stale option help
--with-libltdl is now added (via AC_ARG_WITH) in
opal/mca/dl/libltdl/configure.m4 -- it no longer belongs up here in
this top-level m4 file.  Plus, the help string in this stale entry is
also stale/incorrect.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2016-12-21 07:28:31 -08:00
Gilles Gouaillardet
299a6f8d7c configury: auto-detect armhf and armel architectures on Debian
Thanks Alastair McKinstry for the patch

Fixes open-mpi/ompi#2514

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2016-12-06 14:49:54 +09:00
Gilles Gouaillardet
596613c0aa configury: add support for x32 architecture
Thanks Alastair McKinstry for the patch

Fixes open-mpi/ompi#2515

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2016-12-06 14:49:37 +09:00
Gilles Gouaillardet
c8b51a2d3b configury: remove some dead code
perl is now mandatory to build Open MPI,
so there is no need to check for it

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2016-12-06 14:49:37 +09:00
Joshua Ladd
59f40e7cc5 Merge pull request #2500 from vspetrov/hcoll_ctx_free_detection
Detect hcoll_context_free at config
2016-12-05 22:39:40 -05:00
Gilles Gouaillardet
5bb3efdc74 configury: check the existence of perl
perl is required by ompi/mpi/man/make_manpage.pl, that is even used in opal.
so simply aborts at configure time if perl is not available

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2016-12-05 10:31:51 +09:00
Ralph Castain
1a0bccb536 Now that PMIx has settled on its release strategy and numbering, update the OPAL pmix framework to track
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2016-12-02 15:44:43 -08:00
Valentin Petrov
e13e264185 Detect hcoll_context_free at config
Needed for better flexibility with versioning

Signed-off-by: Valentin Petrov <valentinp@mellanox.com>
2016-12-02 22:09:20 +02:00
Ralph Castain
1e2019ce2a Revert "Update to sync with OMPI master and cleanup to build"
This reverts commit cb55c88a8b.
2016-11-22 15:03:20 -08:00
Ralph Castain
cb55c88a8b Update to sync with OMPI master and cleanup to build
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2016-11-22 14:24:54 -08:00
Howard Pritchard
2cbc0e8472 pmix/cray: fix disable-dlopen problem
PR open-mpi/ompi#2432 introduced a regression where configure
and build with --disable-dlopn caused build failure owing
to unresolved alps lli symbols in the libopal-pal shared library.

This commit fixes this problem.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2016-11-21 13:45:10 -06:00
Ralph Castain
188880be3f Since static ports are only used by ORTE if the runtime option is given,
there is no need for a configure option as well - so remove the
--enable-orte-static-ports configure option. When decoding the daemon
nidmap, mark new daemons as ALIVE by default - we will discover dead
ones as we go.

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2016-11-04 05:01:42 -07:00
Jeff Squyres
c54dc87f71 README: add --enable-mca-no-build explanation
Also update the configure.ac help message for --enable-mca-no-build to
avoid using a framework name that does not exist any more.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2016-11-03 06:11:51 -07:00
Gilles Gouaillardet
f2a80dc09f configury: check libnl version and abort in case of conflict
libnl and libnl-3 are known to conflict with each other, so detect
and abort if these two libs are both used directly (e.g. Open MPI
uses libnl-3) or indirectly (e.g. libibverbs.so might depend on libnl)
2016-10-25 09:23:59 +09:00
Ralph Castain
a2919174d0 Bring the RML modifications across. This is the first step in a revamp of the ORTE messaging subsystem to support fabric-based communications during launch and wireup phases. When completed, the grpcomm and plm frameworks will each have their own "conduit" for communication - each conduit corresponds to a particular RML messaging transport. This can be the active OOB-based component, or a provider from within the RML/OFI component. Messages sent down the conduit will flow across the associated transport.
Multiple conduits can exist at the same time, and can even point to the same base transport. Each conduit can have its own characteristics (e.g., flow control) based on the info keys provided to the "open_conduit" call. For ease during the transition period, the "legacy" RML interfaces remain as wrappers over the new conduit-based APIs using a default conduit opened during orte_init - this default conduit is tied to the OOB framework so that current behaviors are preserved. Once the transition has been completed, a one-time cleanup will be done to update all RML calls to the new APIs and the "legacy" interfaces will be deleted.

While we are at it: Remove oob/usock component to eliminate the TMPDIR length problem - get all working, including oob_stress
2016-10-11 16:01:02 -07:00
Gilles Gouaillardet
bc6724567f README: document --disable-io-romio and --disable-io-ompio configure options 2016-10-05 09:14:32 +09:00
Joshua Hursey
fc3cf994db build: Custom libmpi_FOO name fix for wrapper compilers
* In open-mpi/ompi@f6f24a4f67 I missed
   updating the library references for the wrapper compilers.
 * Fixes the CXX wrapper compiler and CXX library is renamed as needed.
 * Fixes the Java wrapper compiler and the Java library is renamed as needed.
2016-09-30 16:40:56 -05:00
Joshua Hursey
f6f24a4f67 build: Custom libmpi(_FOO) name option in configure
* Add a configure time option to rename libmpi(_FOO).*
   - `--with-libmpi-name=STRING`
 * This commit only impacts the installed libraries.
   Internal, temporary libraries have not been renamed to limit the
   scope of the patch to only what is needed.

For example:
```shell
shell$ ./configure --with-libmpi-name=wookie
...
shell$ find . -name "libmpi*"
shell$ find . -name "libwookie*"
./lib/libwookie.so.0.0.0
./lib/libwookie.so.0
./lib/libwookie.so
./lib/libwookie.la
./lib/libwookie_mpifh.so.0.0.0
./lib/libwookie_mpifh.so.0
./lib/libwookie_mpifh.so
./lib/libwookie_mpifh.la
./lib/libwookie_usempi.so.0.0.0
./lib/libwookie_usempi.so.0
./lib/libwookie_usempi.so
./lib/libwookie_usempi.la
shell$
```
2016-09-29 21:47:24 -05:00
Gilles Gouaillardet
6b57b77ecb configury: add the --disable-io-ompio option
--disable-io-ompio is a shortcut that disable the following
frameworks and components
- fbtl
- fcoll
- sharedfp
- common/ompio
- io/ompio

Fixes open-mpi/ompi#1934
2016-09-23 09:41:09 +09:00
Gilles Gouaillardet
c3f4b7bd46 configury: fix --disable-mpi-io
- move the mpi-io configury option into config/ompi_configure_options.m4
 - add ompi/mca/common/ompio/configure.m4 so this component is not built when
   Open MPI is configure'd with --disable-mpi-io

Fixes open-mpi/ompi#2009
2016-09-21 14:29:37 +09:00
Gilles Gouaillardet
5a14907afa configury: get rid of trailing slashes in _OPAL_CHECK_PACKAGE_HEADER
so /usr/ or /usr/// gets treated just like /usr

Refs open-mpi/ompi#2069
2016-09-13 10:31:19 +09:00
Nathan Hjelm
795833bfac config: re-enable GCC inline ASM check for PGI
We disabled this support a long time ago. Probably safe to assume
whatever bug we were working around no longer exists.

Closes open-mpi/ompi#2044

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-09-02 12:44:08 -06:00
Jeff Squyres
c33aaa5604 Merge pull request #1997 from jsquyres/pr/make-cma-configury-better
opal_check_cma: make consistent with rest of configury
2016-08-31 09:50:24 -04:00
Jeff Squyres
1b9e165a4c opal_setup_wrappers.m4: fix typo in Fortran rpath detection
Add missing space in Libtool command for runpath detection.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2016-08-30 16:48:05 -07:00
Ralph Castain
af67f16422 Update configury to support multiple PMIx versions, rename pmix2x component to pmix3x for support of PMIx master
Update support for external v1.1.x and v2.x libraries. Minor corrections to the v3.x component
2016-08-25 18:19:05 -07:00
Jeff Squyres
997431696a opal_check_cma: make consistent with rest of configury
Split the CMA test into two parts so that the back-end test only has
to be run once.  Fail with --with-cma is specified and cannot be
provided.  Remove a few useless quotes.  Change
$ompi_check_cma_need_defs and $ompi_check_cma_happy to be numeric
values.  Finally, remove a bunch of tabs.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2016-08-23 07:26:47 -07:00
Ralph Castain
639dbdb7ea For maintainability, fold the external PMIx 2.x integration into the internal PMIx 2.x library component. This ensures that we always stay in sync with the two as that is becoming a problem. 2016-08-22 13:28:55 -07:00
Gilles Gouaillardet
50966673a9 configury: fix sed expression in libtool's patch for NAG compiler 2016-08-09 11:02:46 +09:00
Gilles Gouaillardet
273e56096b configury: capture configury command line
configury command line is quoted and made available via the OPAL_CONFIGURE_CLI macro.
it can be retrieved via {orte-info,ompi_info,oshmem_info} -c, or
{orte-info,ompi_info,oshmem_info} --all --parseable | grep ^config:cli:
2016-07-29 09:14:09 +09:00
Gilles Gouaillardet
1b3be0ac8c configury + btl/openib: fix a typo
test for existence of struct ibv_exp_device_attr.exp_atomic_cap.
That was previously mistyped struct ibv_exp_device_attr.ext_atomic_cap
2016-07-22 09:26:33 +09:00
Gilles Gouaillardet
3a32c7d8b6 configury: fix autogen-sh --no-ompi
This fixes a regression from open-mpi/ompi@dc5adc5a91

Fortran is only required by ompi, so m4_ifdef([project_ompi],...) protect Fortran related stuff in opal

Fixes open-mpi/ompi#1884
2016-07-20 12:23:46 +09:00
Ralph Castain
19a1837713 Revert "configury: fix autogen-sh --no-ompi"
This reverts commit f3d3633e74.
2016-07-19 20:09:56 -07:00
Gilles Gouaillardet
f3d3633e74 configury: fix autogen-sh --no-ompi
This fixes a regression from open-mpi/ompi@dc5adc5a91

Fortran is only required by ompi, so m4_ifdef([project_ompi],...) protect Fortran related stuff in opal

Fixes open-mpi/ompi#1884
2016-07-20 09:25:14 +09:00
Rainer Keller
997a00c06f Correct "configure --help" output and amend the default setting if user
provides a wrong input value, like "runtime"
(which works for MPI, but not for OSHMEM)
2016-07-13 11:23:07 +02:00
Gilles Gouaillardet
a27ced0966 configury: fix typos in {ompi,opal}_setup_cxx 2016-07-12 10:09:32 +09:00
Nathan Hjelm
109389dce2 Merge pull request #1634 from hjelmn/cma
cma: add support for MIPS and ARM
2016-06-11 09:20:28 -06:00
Nathan Hjelm
4a2bd83302 opal/cma: improve Linux CMA detection
This commit improves the CMA detection when the installed glibc doesn't
have support for CMA. In this case we need to verify that the syscall
numbers in opal/include/opal/sys/cma.h are valid for the architecture.
This verification is done by attempting to use CMA while including the
internal header.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2016-06-05 22:29:07 -06:00
Gilles Gouaillardet
dc5adc5a91 configury: pass -Wl,-Wl,,--enable-new-dtags when NAG compiler is used for linking
Thanks Paul Hargrove for the report
2016-06-06 11:54:25 +09:00
Gilles Gouaillardet
11b3bc962b configury: add the nagfor NAG compiler to the default Fortran compilers 2016-06-06 11:54:25 +09:00
Gilles Gouaillardet
1ce5393fa4 configury: add the -mismatch flag to NAG compiler
NAG compiler is too picky about naming convention and cannot build
OpenMPI unless the -mismatch flag is used
2016-06-06 11:54:25 +09:00
Gilles Gouaillardet
20bfc6b3d1 autogen: patch config/ltmain.sh in order to make NAG compiler pass the -pthread option to the linker 2016-06-06 11:54:24 +09:00
Gilles Gouaillardet
544a2f1631 configury: fix mpifort and oshmemfort wrapper data
NAG compiler use gcc (and not ld) as a linker, so in order to pass an option to the linker,
the flag is -Wl,-Wl,,<option> and not -Wl,<option>

Thanks Paul Hargrove for the report
2016-06-06 11:54:12 +09:00
Gilles Gouaillardet
bbed1d4a5f configury: append LIBS to OMPI_WRAPPER_EXTRA_LIBS
This is required so NAG compiler can build static OpenMPI

Thanks Paul Hargrove for the report.
2016-06-06 11:53:42 +09:00
Nathan Hjelm
0084ad0d1b opal: add armv8 support
This commit adds assembly support for aarch64.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2016-06-03 10:32:21 -06:00
Nathan Hjelm
d86e41ea13 atomic/gcc: add check for 128-bit CAS being lock-free
Compiler implementations are free to include support for atomics that
use locks. Unfortunately lock-free and lock atomics do not mix. Older
versions of llvm on OS X use locks to provide
__atomic_compare_exchange on 128-bit values but are lock-free on
64-bit values. This screws up our lifo implementation which mixes
64-bit and 128-bit atomics on the same values to improve
performance. This commit adds a configure-time check if 128-bit
atomics are lock free. If they are not then the 128-bit __atomic CAS
is disabled and we check for the __sync version as a fallback.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-06-02 15:59:05 -06:00
Nathan Hjelm
f33bbfd381 atomic: add support for __atomic builtins (#1735)
* atomic: add support for __atomic builtins

This commit adds support for the gcc __atomic builtins. The __sync
builtins are deprecated and have been replaced by these atomics. In
addition, the new atomics support atomic exchange which was not
supported by __sync.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>

* atomic: add support for transactional memory

This commit adds support for using transactional memory when using
opal atomic locks. This feature is enabled if the __HLE__ feature is
available and the gcc builtin atomics are in use.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-06-01 21:23:47 -04:00
Ralph Castain
12ecf972af Split the pmix external component into one for the 1.1.4 release, and another for the upcoming 2.0 release. Clean up the configury so the components look for a series-specific function instead of running a program.
NOTE: the changes for the 2.0 series are not yet in the PMIx master.
2016-06-01 14:15:24 -07:00
Ralph Castain
7b115a9e0b Patch from Gilles - modify detection of PMIx version for external libraries 2016-05-30 14:30:10 -07:00
Ralph Castain
55923eacd3 Stealing some pieces of Josh Hursey's PR #1583 and modifying a bit, allow the opal/pmix external component to handle both PMIx 1.1.4 and PMIx 2.0 versions. Automatically detect the version of the target external library and adjust the only two APIs that changed (PMIx_Init and PMIx_Finalize)
Rename temp vars in .m4 to avoid conflict with Travis
2016-05-27 08:06:31 -07:00