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

1524 Коммитов

Автор SHA1 Сообщение Дата
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
Nathan Hjelm
d25b846c01 Merge pull request #1704 from hpcraink/pr/configure_framework
Fix configure for FreePGI on OSX
2016-05-26 17:01:08 -06:00
Nathan Hjelm
8c2086995d config: fix typo in mxm configury
A 1 was missing when setting $1_LDFLAGS leading to erroneous items in
the wrapper cflags.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-05-26 10:28:07 -06:00
Rainer Keller
3727cba9bb Fix compilation for FreePGI on OSX
Our checks and the ones of libevent are somewhat flawed.
If adding multiple "-framework" to CXXFLAGS or CFLAGS, we strip
the keyword from the command-line, not good.
libevent however assumes plain gcc without testing properly
that the compiler supports -Wno-deprecated-declarations.
2016-05-25 09:12:39 +02:00
Nathan Hjelm
f6938868bd Merge pull request #1659 from hjelmn/sync_64
sync_builtin: check for 64-bit atomic support
2016-05-17 05:40:04 -07:00
rhc54
4d026e223c Merge pull request #1661 from matcabral/master
PSM and PSM2 MTLs to detect drivers and link
2016-05-11 17:43:17 -07:00
Matias A Cabral
40717198c6 add glob.h check fro psm and psm2 mtls 2016-05-11 13:05:43 -07:00
Ralph Castain
9a5ef60602 Ensure we fail to configure if external PMIx was requested and is not found. 2016-05-11 07:59:05 -07:00
Nathan Hjelm
b2f33bc076 opal/asm: fall back on inline asm atomics in some cases
This commit changes the asm configure logic to fall back on inline asm
atomics on systems that 1) have __sync atomics, 2) do not have 64-bit
__sync atomics, and 3) support 64-bit asm.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2016-05-10 04:27:58 -06:00
Nathan Hjelm
d99a9786b6 sync_builtin: check for 64-bit atomic support
This commit adds an additional check for 64-bit atomic support for __sync
builtins. If 64-bit support is not available the opal_atomic_*_64 atomics
are disabled.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2016-05-09 03:17:51 -06:00
Nathan Hjelm
4a740e9f27 Merge pull request #1619 from hjelmn/ext_verbs_fix
btl/openib: fix check for exp verbs struct members
2016-05-03 14:16:17 -06:00
Jeff Squyres
cd6ab54fdf opal_mca.m4: fix help message typo
Thanks to Paul Hargrove for reporting.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2016-05-03 07:24:06 -07:00
Nathan Hjelm
a65af6d079 btl/openib: fix check for exp verbs struct members
This commit fixes a compilation issue with some versions of exp
verbs. In some cases struct ibv_exp_device_attr does not have either
the exp_atom or exp_atomic_cap fields. It is fine to drop one check
and fall back to the non-exp attribute check on the other.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-05-02 17:13:33 -06:00
Jeff Squyres
f3e3b800e9 opal_check_pmi.m4: remove stale code and comments
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2016-05-02 12:51:01 -04:00
Gilles Gouaillardet
08d91b9a03 pmix/external: revamp external pmix package detection 2016-05-02 16:23:31 +09:00
Gilles Gouaillardet
cdac9e813d configury: fix MPI Java bindings message in summary 2016-05-02 16:21:52 +09:00
Ralph Castain
6ac7929bd0 Extend the schizo framework to allow definition of CLI options by environment. Refactor orterun to mesh with the orted_submit code, thus improving code reuse. Eliminate the orte-submit tool as orterun can now meet that need.
Cleanups per @jjhursey review
2016-05-01 11:30:25 -07:00
Gilles Gouaillardet
529ab559d4 configury: consider double _Complex as a candidate for the C equivalent of Fortran COMPLEX
this is necessary when -d8 flag is passed to Fortran compiler
2016-04-27 10:55:35 +09:00
Nathan Hjelm
ae0ffbb67f Merge pull request #1397 from hjelmn/enable_thread_multiple
ompi: always enable MPI_THREAD_MULTIPLE support
2016-04-23 08:40:22 -06:00
Jeff Squyres
6800ef9ec0 m4: rename OMPI_SUMMARY_* macros to OPAL_SUMMARY_*
These macros should really be named OPAL_SUMMARY_*; they're used in
all projects, and therefore should be in the lowest later project (OPAL).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2016-04-20 08:40:00 -07:00
Nathan Hjelm
1e6b4f2f55 Merge pull request #1495 from hjelmn/new_hooks
Add new patcher memory hooks
2016-04-13 18:19:23 -06:00
Nathan Hjelm
7aa03d66b3 opal/memory: add support for patch based memory hooks
This commit adds support for runtime binary patching. The support is
broken down into two parts: util/opal_patcher.[ch] which contains the
functionality for runtime patching of symbols, and mca/memory/patcher
which patches the various symbols needed to provide support for memory
hooks. This work is preliminary and is based off work donated by IBM.

The patcher code is disabled if dlopen is disabled.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-04-13 17:14:31 -06:00
Nathan Hjelm
98ce659e0b config: check for more __sync builtins
This commit updates the check for __sync builtin atomics to see if the
compiler supports both __sync_bool_compare_and_swap and
__sync_add_and_fetch. If either of these functions are not available
then we can't use the __sync builtins.

Fixes #1487

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-04-12 10:02:39 -06:00
Nathan Hjelm
985a3b35f3 Merge pull request #1508 from hjelmn/builtin_atomics
configure: only enable sync builtin atomics if they link
2016-03-29 20:09:08 -06:00
Nathan Hjelm
e1cace0b02 configure: only enable sync builtin atomics if they link
This commit fixes the check for sync builtin atomics.
AC_COMPILE_IFELSE is insufficient to check for the builtins. Need to
use AC_LINK_IFELSE.

Fixes open-mpi/ompi#1487

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-03-29 16:57:15 -06:00
Jeff Squyres
bd3c15cef0 opal_summary: no tabs!
* Replace all tabs with spaces
* Remove extraneous extra blank line at the end (in some cases, we
  were getting *2* blank lines at the end)
* Use `echo " "` instead of `echo` (which may not be portable)

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2016-03-28 09:20:31 -07:00
Jeff Squyres
ccdc10dda3 opal_check_libfabric: correctly check for user intent
If the user asked for libfabric and we can't build for it, abort.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2016-03-28 08:32:03 -07:00
Jeff Squyres
cb1837e595 Merge pull request #1417 from jsquyres/rfc/mpirun-warn-if-debug-build
RFC: change default build to always be optimized (even for developers)
2016-03-17 17:03:07 -04:00
Nathan Hjelm
f0e374096a Merge pull request #1465 from hjelmn/re_enable_builtin_atomics
configure: re-enable built-in atomic support
2016-03-17 08:21:59 -06:00
Nathan Hjelm
664ecc8f84 configure: re-enable built-in atomic support
This commit removes an erroneous else statement from the OSX built-in
atomics check. The else branch sets the built-in atomics support to
BUILTIN_NO if either opal_cv_asm_builtin is not BUILTIN_NO or OSX
atomics support is disabled.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2016-03-16 20:46:09 -06:00
Igor Ivanov
7bd12dc1a4 config: Fix wrong variable name
Changed $project_shmem with $project_oshmem
2016-03-16 17:48:51 +02:00
Jeff Squyres
54687d0155 opal_configure_options.m4: clarify some help messages
Make the help messages for --enable-mem-debug and --enable-mem-profile
the same as other help messages.
2016-03-15 19:50:19 -04:00
Jeff Squyres
7c29ceb911 opal_configure_options: disable debug-by-default builds for devs
After 11 years, it's probably ok to say that we're no longer in "early
development" -- disable the "build a debug version of Open MPI by
default if we find a .git directory" behavior.

However, we are keeping the "use compiler picky flags if we find a
.git directory" behavior.  That's useful behavior for developers, and
has no effect on performance.
2016-03-15 19:50:14 -04:00
Gilles Gouaillardet
a93b849f13 configury: UCX uses CPPFLAGS (instead of CFLAGS) 2016-03-14 11:42:16 +09:00
Jeff Squyres
48c650c47a configury: minor updates to config summary output 2016-03-10 13:02:52 -08:00
Nathan Hjelm
d2f5fca82a configure: add a summary section at the end of configure output
This commit adds two m4 macros: OPAL_SUMMARY_ADD, OPAL_SUMMARY_PRINT.
OPAL_SUMMARY_ADD adds an item to a section in the summary. For example
OPAL_SUMMARY_ADD([[Transports]],[[Foo]],...,[yes]) will add the
following to the summary:

Transports
-----------------------
Foo: yes

With this commit two sections are added: Transports, Resource Managers.

The OPAL_SUMMARY_PRINT macro is called after AC_OUTPUT and prints out
some information about the build (version, projects, etc) and then
the summarys sections. It will additionally print a warning if
internal debugging is enabled.

Example output:

Open MPI configuration:
-----------------------
Version: 3.0.0 a1
Build Open Platform Abstration project: yes
Build Open Runtime project: yes
Build Open MPI project: yes
Build Open SHMEM project: no
MPI C++ bindings (deprecated): no
MPI Fortran bindings: mpif.h, use mpi, use mpi_f08
Debug build: yes

Transports
-----------------------
Cray uGNI (Gemini/Aries): no
Intel Omnipath (PSM2): no
KNEM Shared Memory: no
Linux CMA IPC: no
Mellanox MXM: no
Open UCX: no
OpenFabrics libfabric: no
OpenFabrics Verbs: no
portals4: no
QLogic Infinipath (PSM): no
tcp: yes
XPMEM Shared Memory: no

Resource Managers
-----------------------
Cray Alps: no
Grid Engine: no
LSF: no
Slurm: yes
Torque: yes

INTERNAL DEBUGGING IS ENABLED. DO NOT USE THIS BUILD FOR PERFORMANCE MEASUREMENTS!

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2016-03-08 10:04:15 -07:00
Nathan Hjelm
230d04327e ompi: always enable MPI_THREAD_MULTIPLE support
This commit removes the --with-mpi-thread-multiple option and forces
MPI_THREAD_MULTIPLE support. This cleans up an abstration violation
in opal where OMPI_ENABLE_THREAD_MULTIPLE determines whether the
opal_using_threads is meaningful. To reduce the performance hit on
MPI_THREAD_SINGLE programs an OPAL_UNLIKELY is used for the
check on opal_using_threads in OPAL_THREAD_* macros.

This commit does not clean up the arguments to the various functions
that take whether muti-threading support is enabled. That should be
done at a later time.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-02-23 10:02:14 -07:00
Ralph Castain
aa9e5a1a27 Add support for Singularity containers, including a .m4 file for checking if Singularity is available and an orte/schizo component for setting the proper support if a container was given as the executable
Cleanup the configury so we properly check for Singularity under the various typical use-cases

Bring the Singularity support online. We have to turn "off" the sm BTL as it segfaults from inside the container - root cause remains unclear. Also turned "off" the various OPAL shmem components in case they are involved and someone else tries to use them. Happily, the vader BTL works just fine!
2016-02-13 04:40:22 -08:00
Edgar Gabriel
9c93df5a47 revampt the pvfs2 configure logic 2016-01-25 12:03:01 -06:00
Jeff Squyres
655b4be97c find_common_syms: update for OS X symbol naming
OS X tends to prefix its symbols with "_".
2016-01-20 16:18:43 -05:00
Jeff Squyres
6c96cb1ad0 find_common_syms: arrgh -- re-add the x bit
Previous commit accidentally removed the x bit from this script.  This
commit puts it back.
2016-01-16 03:53:43 -08:00
Jeff Squyres
c43d4fd915 find_common_syms: trivial updates
Look for "common_sym_whitelist.txt" files (not
"common_sym_whitelist").  Also, skip blank lines in the
whitelistfiles, too.
2016-01-16 03:53:14 -08:00
Gilles Gouaillardet
713e3ea2e5 configury: fix pthread_join() call in OPAL_INTL_PTHREAD_TRY_LINK_FORTRAN 2016-01-07 10:20:20 +09:00
Ralph Castain
ddf0f272e1 Fix typo 2015-12-29 07:04:28 -08:00
Gilles Gouaillardet
55ae6768d3 configury: use --with-pmix option instead of --with-external-pmix 2015-12-28 23:14:59 +09:00
Gilles Gouaillardet
fec973efda configury: test portability
replace test ... -o ... with test ... || test ...
and test ... -a ... with test ... && test ...
2015-12-28 13:58:45 +09:00
Gilles Gouaillardet
e918d75fae java: try do dlopen libmpi with the full path
Since OS X 10.11 (aka El Capitan) DYLD_LIBRARY_PATH is no more
propagated to children, so try to dlopen libmpi with the full path
using the directory of libmpi_java

Fixes open-mpi/ompi#1220

Thanks Alexander Daryin for reporting this
2015-12-22 11:09:46 +09:00
Gilles Gouaillardet
862b12acf9 configury: fix uninitialized variable in OMPI_FORTRAN_CHECK_USE_ONLY
Thanks Paul Hargrove for pointing this issue
2015-12-21 09:56:35 +09:00
Gilles Gouaillardet
985154eee6 configury: revamp the fortran_check_use_only test
split the test into three source files in order to avoid a false positive when using old XCode version and gcc 5
2015-12-17 13:12:07 +09:00
Ralph Castain
3a56f0d34b Create the pmix external component. Fix a few places where opal/util/argv.h were required when building with an external pmix (go figure).
NOTE: Building with external pmix *requires* that you also build with external libevent and hwloc libraries. Detect this at configure and error out with large message if this requirement is violated.

Closes #1204  (replaces it)
Fixes #1064
2015-12-15 15:26:13 -08:00
Howard Pritchard
7a82174747 Merge pull request #1195 from hppritcha/topic/wlm_detect
support Cray nativized slurm environment
2015-12-15 07:58:53 -07:00
Ralph Castain
03eb1a80bf Update the PMIx native component to release v1.1.1, with addition of one bug-fix commit beyond the official release
Rename the pmix1xx component to pmix111 so it reflects the actual release it includes

Resolve the problem of PMIx being passed a bogus --with-platform argument when configuring the PMIx tarball code. There is no reason we should be passing --with-platform arguments to any internal subdirectory, so just leave that out when constructing the opal_subdir_args variable.

Update the PMIx code and continue attempting to debug direct modex

Fix a problem in the ORTE PMIx server - there was an early intent to optimize the direct modex by fetching data for all procs from the target job on the remote node, instead of fetching the data one proc at a time. However, this was never completely implemented, and so we would hang if we had multiple overlapping requests for data from more than one proc on the node.

Update PMIx to v1.1.2
2015-12-12 18:46:38 -08:00
Jeff Squyres
e80f5681f3 orte_setup_java.m4: remove unused file 2015-12-10 11:59:57 -08:00
Nathan Hjelm
f692576f1e btl/openib: add check for IBV_EXP_QP_INIT_ATTR_ATOMICS_ARG
Mofed 2.2 does not have the IBV_EXP_QP_INIT_ATTR_ATOMICS_ARG attribute
flag. Add a check to fix compilation for mofed 2.2. This commit only
fixes complilation with the older mofed. It will not allow an Open MPI
compiled with mofed 2.3 or newer to work on a machine with mofed 2.2.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-12-09 17:02:36 -07:00
Howard Pritchard
9548b8a9e8 plm/alps: add wlm detect infrastructure
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2015-12-07 07:43:20 -08:00
Howard Pritchard
d7b437ecaa Merge pull request #1157 from gpichot/adds-darwin-headers-for-java
Adds darwin headers directory for Darwin JDK
2015-12-06 14:49:53 -07:00
Gabriel Pichot
ff5af73676 Adds usage of /usr/libexec/java_home for OS X platforms 2015-12-05 11:51:51 +01:00
Igor Ivanov
63bc655b53 oshmem: Remove JAVA support
There is a conclusion to remove java support
(see https://github.com/open-mpi/ompi-release/pull/787)
2015-12-03 11:59:07 +02:00
Nathan Hjelm
bb8e347371 btl/openib: update experimental verbs support
This update adds an additional check (if supported) to see if 8-byte
atomics are supported by the hardware. If 8-byte atomics are not
supported the atomics support is disabled.

This commit also includes some cleanup.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-11-30 12:32:04 -07:00
Gabriel Pichot
5e77bdeb25 Adds darwin headers directory with Darwin JDK 2015-11-28 17:54:43 +01:00
Nathan Hjelm
02a6c6856d btl/openib: add support for mlx5 atomic operations
This commit adds support for fetch-and-add and compare-and-swap when
using the mlx5 driver. The support is only enabled if the expanded
verbs interface is detected. This is required because mlx5 HCAs return
the atomic result in network byte order. This support may need to be
tweaked if Mellanox commits their changes into upstream verbs.

Closes open-mpi/ompi#1077

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-11-23 16:07:12 -07:00
Edgar Gabriel
497bd6f355 add a verification step looking for the structures that we use in the lustre component. Disable the ccomponent if not found. 2015-11-12 10:35:11 -06:00
Rolf vandeVaart
f2ff6e03ab Make CUDA 4.1 a requirement for CUDA-aware support.
Remove all related preprocessor conditionals.
2015-10-29 11:24:02 -04:00
Matias A Cabral
ed16d8e1cc Updated psm2 mtl with new externally exposed symbols of psm2.so
Fixes open-mpi/ompi#1018
Fixes open-mpi/ompi#1021
2015-10-28 09:12:33 -07:00
Mike Dubman
8490a96f22 Merge pull request #1041 from miked-mellanox/topic/build_platform
BUILD: add support for --with-platform-patches-dir=DIR
2015-10-21 11:20:40 +03:00
Alex Mikheev
f2b501a862 oshmem: Add UCX spml. 2015-10-20 19:46:02 +03:00
Mike Dubman
14d7fcbe2d BUILD: add support for --with-platform-patches-dir=DIR
sync with https://github.com/open-mpi/ompi-release/pull/662
2015-10-20 17:14:15 +03:00
Jeff Squyres
71dfba9ed3 Merge pull request #845 from ggouaillardet/topic/pmpi_vs_mpi
Remove --enable-mpi-profile configure option (i.e., always build PMPI bindings)
2015-10-13 12:13:10 -04:00
Jeff Squyres
f0741b8f2e Merge pull request #962 from ggouaillardet/topic/f08_manpages
Add Fortran 2008 syntax to the manpages
2015-10-13 06:19:53 -04:00
Gilles Gouaillardet
a88b4a741f configury: fix a typo in OPAL_CHECK_PACKAGE comment
no code change
2015-10-13 14:15:06 +09:00
Gilles Gouaillardet
645310612b configury: replace ompi_check_openib_happy with opal_check_openib_happy 2015-10-13 14:12:52 +09:00
Gilles Gouaillardet
3e469662ad trim man pages if no c++/f08/fortran 2015-10-13 10:21:42 +09:00
Gilles Gouaillardet
291a464efb configury: remove the --enable-mpi-profiling option
and directly call the PMPI_* symbols from C and Fortran bindings
2015-10-13 08:52:35 +09:00
Jeff Squyres
eeddb7abc1 ompi_setup_mpi_fortran.m4: add more verbosity
Add a little more to the verbose messages from d7e6daf.
2015-10-12 10:26:08 -07:00
Jeff Squyres
fcb7fc6b56 Merge pull request #990 from ggouaillardet/topic/f08_vs_pmpi
configury: do not build usempif08 is PMPI is not built
2015-10-12 13:24:22 -04:00
Gilles Gouaillardet
d7e6daf75f configury: do not build usempif08 is PMPI is not built
this is a revamp of commit open-mpi/ompi@2d1a8fa920
Thanks Jeff for the review !
2015-10-08 09:04:07 +09:00
Mike Dubman
a120fe4a14 BUILD: add --with-platform-patches-dir=DIR flag to configure
allow to override default patch dir to arbitrary.
2015-10-07 16:18:48 +03:00
Mike Dubman
eb883ae98f BUILD: allow specifying platform patch_dir from cmd line
before:

patch_dir=$PLATFORM.patches

after

patch_dir can be specified as ./configure <....> patch_dir=/usr/local/site_ompi_v_x.y_patches/
if not specified - use default
2015-10-07 09:31:49 +03:00
Gilles Gouaillardet
2d1a8fa920 fortran: do not build the f08 bindings if PMPI is not built 2015-10-05 09:43:46 +09:00
Mike Dubman
e280be3dff Revert "BUILD: log applied patches into config.log" 2015-10-04 08:12:05 +03:00
Mike Dubman
5d83aa8cdc BUILD: log applied patches to config.log 2015-10-01 10:06:17 +03:00
Mike Dubman
2333f8249f Merge pull request #914 from miked-mellanox/topic/platform_vendor_patches
BUILD: add support for platform specific patches
2015-09-30 09:22:41 +03:00
Mike Dubman
7502d2a779 BUILD: add support for vendor specific patches
./configure --with-platform=contrib/platform/$name will apply all patches
found in contrib/platform/$name.patches/ directory during "configure" phase.

It allows vendors to distribute not-accepted or vendor-specific patches as
part of standard ompi tarball and reduce burden of keeping private repos.

Added:

* VPATH support
* $srcdir/.platform_patches file created if patches already applied
* configure will fail with error if patch cannot be applied (using dry-run)
* configure will fail if patches modifying *.[am,m4] files (unsupported)
* remove unused patch_errors var
* set with_ident_string if platform file applied patches
2015-09-29 09:47:40 +03:00
bosilca
984b35b860 Merge pull request #633 from bosilca/topic/enable_atomics
Enable by default the _sync version of atomic operations on OS X.
2015-09-28 12:03:08 -04:00
Howard Pritchard
6cdb73ce77 configury: fix tkr macro so it can compile
The tkr m4's fortran couldn't be compiled
by gfortran.  pointer assignment followed by
variabl definition didn't compile.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2015-09-25 12:22:50 -05:00
Jeff Squyres
3698621df0 fortran ignore TKR: update for strange Intel 2016 compiler suite behavior
The Intel 2016 compiler suite apparently only partially supports the
!GCC pragmas (prior versions either didn't support it at all, or our
existing configure test was sufficient to disqualify !GCC pragma
support when compiling with the Intel compiler).

With the existing configure test, the Intel 2016 compiler suite would
*pass* the test and therefore think that it could use !GCC as the
"ignore TKR" pragma.  However, the "!GCC ATTRIBUTES NO_ARG_CHECK"
pragma doesn't work with scalar integers (although it seems to work
for the other types in this test).

This commit adds a scalar integer test to the ignore TKR pragma
configure test, which is enough to make the Intel 2016 compiler suite
fail with !GCC (this then allows configure to advance on to trying the
!DEC pragma, which *does* work properly with the Intel 2016 compiler
suite).

Thanks to Fabrice Roy for reporting the problem.

Fixes open-mpi/ompi#937.
2015-09-24 22:24:30 -07:00
Ralph Castain
0b3f4c55f8 Do not use "==" in configure "test" calls
Thanks to Kevin Buckley for pointing it out
2015-09-20 21:34:27 -07:00
Jeff Squyres
66dda00f06 fortran configiry: test for USE...ONLY support
As of v15.7, the PGI Fortran compiler does not properly support how
Open MPI uses the "USE ... ONLY" Fortran syntax to include modules
with conflicting symbol definitions (interestingly, pgfortran only has
a problem with this when compiling with -g).

In short, OMPI uses "USE :: module_aaa, ONLY: foo" and "USE ::
module_bbb, ONLY: bar" to use modules aaa and bbb, even though they
contain conflicting definitions for some symbols.  However, the use of
the ONLY clause should preclude the inclusion of the conflicting
symbols -- as the word implies, it should direct the compiler to
*only* use the symbols identified by the clause (i.e., foo and bar, in
this example).

This commit adds a configure test for this capability.  If the
compiler fails to build a simple test that mimics this behavior, then
disable the mpi_f08 bindings.

Fixes open-mpi/ompi#857
2015-09-02 15:55:24 -07:00
Nathan Hjelm
f451876058 Merge pull request #825 from hjelmn/white_space_purge
periodic trailing whitespace purge
2015-08-25 19:23:52 -06:00
Jeff Squyres
93708af013 ompi_setup_mpi_fortran.m4: only set BUILD_SIZEOF if happy=1
Only set OMPI_FORTRAN_BUILD_SIZEOF to 1 if $ompi_fortran_happy is also
1 (i.e., we're building the Fortran interface).  This prevents
building [p]size_f.f90 and trying to compile it if there is no Fortran
compiler, for example.
2015-08-25 07:12:18 -07:00
Nathan Hjelm
156ce6af21 periodic whitespace purge
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-08-24 09:32:33 -06:00
Jeff Squyres
699ab67598 Merge pull request #719 from ggouaillardet/poc/c_fortran_alignment
fortran: (try to) align C objects used by Fortran
2015-08-19 08:55:10 -04:00
Nathan Hjelm
551c2ea480 opal/asm: remove alpha support
This commit removes alpha asm support. No current processor
manufacturer makes chips compatible with DEC alpha and no
participating organization has alpha processors. This makes it
difficult to support alpha via assembly.

This doesn't mean Open MPI will no longer build/work on alpha
processors. It should continue to work with gcc's builtin sync
atomics.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-08-18 09:11:38 -06:00
Gilles Gouaillardet
99730f798b fortran: (try to) align C objects used by Fortran
Fortran uses objects (ompi_f08_mpi_comm_world, mpi_fortran_bottom,, ...) that are defined in C.
Some compilers have different requirements on how these objects should be aligned.
Smaller alignment in C can lead to several confusing warnings from the linker, so try to
find the alignment expected by Fortran compiler, and inform the C compiler.
2015-08-18 14:01:20 +09:00
George Bosilca
277269b641 Have the __sync atomics the default. Remove spurious checking and
result messages
2015-08-17 18:08:25 -04:00
George Bosilca
5aadf39545 Clean-up the OS X selection logic. 2015-08-17 18:08:16 -04:00
George Bosilca
3eaefd790c Enable by default the _sync version of atomic operations on OS X. 2015-08-17 18:08:03 -04:00
Gilles Gouaillardet
6118236f1a Merge pull request #796 from ggouaillardet/topic/hcoll_config
configury: fix hcoll, fca and mxm detection and revamp yalla Makefile.am
Thanks to David Shrader and Ake Sandgren for bringing this issue to our attention
2015-08-14 08:55:46 +09:00
Gilles Gouaillardet
7b7842fd5a configury: fix description of the --with-knem option 2015-08-13 17:53:48 +09:00
Gilles Gouaillardet
288e13ba7c configury: fix --with-mxm
* search mxm libs in both DIR/lib and DIR/lib64
 * fix the description of the --with-mxm option
2015-08-13 11:09:26 +09:00
Gilles Gouaillardet
1a238d3a4f configury: fix fca detection
* do not add -I/.../include/fca -I /.../include/fca_core to CPPFLAGS
 * allow configure --with-fca
 * search fca libs in both DIR/lib and DIR/lib64
 * fix the description of the --with-fca option
2015-08-13 11:09:15 +09:00
Gilles Gouaillardet
df98a73131 configury: fix hcoll detection
* do not add -I/.../include/hcoll -I /.../include/hcoll/api to CPPFLAGS
 * allow configure --with-hcoll
 * search hcoll libs in both DIR/lib and DIR/lib64
 * fix the description of the --with-hcoll option
2015-08-13 11:08:56 +09:00
Jeff Squyres
6a7d5271c4 ompi_ext.m4: allow extensions to have config.h.in
Previously, extensions were required to have a config.h for their C
bindings.  This commit allows them to have a config.h.in, in case
their C bindings header file is generated.
2015-08-12 12:22:59 -07:00
Nysal Jan K.A
2d2ea63231 Fix PMI and PMI2 builds 2015-08-11 21:13:45 +05:30
Gilles Gouaillardet
9c77c6b66d fortran: fix f08 bindings
only define the unique fortran symbol depending on
 - CAPS
 - PLAIN
 - SINGLE_UNDERSCORE
 - DOUBLE_UNDERSCORE
and bind the f08 symbol to the uniquely defined C symbol.

Use real data structures to make the code simpler.
(perl script written by Jeff)
2015-07-27 16:28:57 +09:00
Gilles Gouaillardet
f7cf7d5070 configury: fix XRC detection on OFED < 3.12
since ibv_create_xrc_rcv_qp is now deprecated, and in order to
be "future-proof", we have to consider the case in which only XRC Domains are supported.
also, correctly handle distro that ship broken ibverbs devel headers

Thanks Paul Hargrove for the detailled report.
2015-07-13 10:43:22 +09:00
Gilles Gouaillardet
66ef1c3c55 configury: fix fortran binding checks for ompi extensions 2015-07-13 10:17:13 +09:00
Rolf vandeVaart
f1fff56d74 One word change from none to all - new default 2015-07-10 11:23:22 -04:00
Jeff Squyres
4341639a66 Revert "configury: fix (again) XRC detection on OFED < 3.12"
@ggouaillardet is likely offline for the weekend, but master is broken
on RHEL 6.5 systems that do not have MOFED installed.  So I'm taking
the liberty of revering this commit; I'm guessing Gilles will fixup
and re-commit next week.

This reverts commit 77f8282d51.
2015-07-10 06:45:33 -07:00
Gilles Gouaillardet
77f8282d51 configury: fix (again) XRC detection on OFED < 3.12
since ibv_create_xrc_rcv_qp is now deprecated, and in order to
be "future-proof", we have to consider the case in which only XRC Domains are supported.

Thanks Paul Hargrove for the detailled report.
2015-07-10 15:31:45 +09:00
Gilles Gouaillardet
9a49d42f81 configury: fix XRC detection on OFED < 3.12
Thanks Paul Hargrove for the report
2015-07-10 10:21:46 +09:00
Gilles Gouaillardet
8eede3c7f1 configury: fix a typo in XRC support detection
Thanks to Ben Menadue for the report
2015-07-09 13:37:49 +09:00
Gilles Gouaillardet
478120ecb4 configury: fix alignment check of bool when cross-compiling 2015-07-07 11:04:07 +09:00
rhc54
5e6670343e Merge pull request #673 from jsquyres/pr/mpi-extension-defaults
MPI extensions: build extensions by default
2015-06-25 12:38:26 -07:00
Jeff Squyres
fca193d316 MPI extensions: build extensions by default
* affinity: will build unless disabled.
* cr: will build if FT is enabled, unless it is disabled.  It will
  also complain/abort if you --with-mpi-ext=cr, but FT is disabled.
* example: will only build if --with-mpi-ext=example (and .ompi_ignore
  is removed)
2015-06-25 11:28:58 -07:00
rhc54
1a767ed47c Merge pull request #654 from rhc54/topic/config
Remove internal bool type definitions
2015-06-25 09:10:21 -07:00
Ralph Castain
536faf3f39 Add requested comment 2015-06-24 08:42:02 -07:00
Ralph Castain
57b7c44aec Cleanup the rest of the no-longer-required bool configury 2015-06-24 08:25:49 -07:00
Ralph Castain
869041f770 Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
Andrew Friedley
2c9be59b37 Add new PSM2 MTL.
This new MTL runs over PSM2 for Omni Path.  PSM2 is a descendant of PSM
with changes to support more ranks and some MPI-3 features like mprobe.

PSM2 will only support Omni Path networks; PSM only supports True Scale.
Likewise, the existing PSM MTL will continue to be maintained for True
Scale, while the PSM2 MTL is developed and maintained for Omni Path.
2015-06-22 07:55:46 -07:00
Jeff Squyres
0b343fa599 opal_check_libfabric.m4: add libfabric m4 macro
Similar to other m4 macros checking for the existence / usability of
external libraries.
2015-06-15 15:17:05 -07:00
Mike Dubman
be5601b5d0 build: fix mxm configure
configure w/ CPPFLAGS/LDFLAGS can add empty -L statement from mxm
Thanks to David Shrader <dshrader@lanl.gov> for patch
2015-05-27 09:59:42 +03:00
Ralph Castain
d3d3e73099 Per request from George, use defined(__APPLE__) instead of OPAL_HAVE_MAC. Don't try to close a negative socket 2015-05-15 07:13:42 -06:00
Ralph Castain
8e30579e6e The Mac appears to have problems with the keepalive support - once keepalive starts, the memory footprint soars. So disable keepalive on the Mac 2015-05-14 18:09:13 -06:00
Gilles Gouaillardet
c4ebdba035 always align words if heterogeneous support is enabled 2015-05-14 15:54:21 +09:00
Gilles Gouaillardet
973a9ec247 configury: fix the error message of the --enable-mpi-fortran option 2015-05-14 15:39:43 +09:00
Ralph Castain
a49d965332 Remove stale file 2015-05-09 07:08:50 -07:00
Jeff Squyres
286c018120 fortran configury: minor updates
* Add a few minor comments
* Rename $OMPI_WANT_FORTRAN_BINDINGS -> $OMPI_MIN_REQUIRED_FORTRAN_BINDINGS
* Minor whitespace cleanups
* Change an "if ..." to an AS_IF
2015-05-08 09:23:55 +09:00
Gilles Gouaillardet
dd572a0838 Fix --with-fortran=... logic 2015-05-08 09:23:55 +09:00
Gilles Gouaillardet
1f525b06f0 configury: add support for Fujitsu compilers.
Fujitsu compilers used with the GNU compatibility option (-Xg)
do not yet support all the gnu flags (e.g. -pedantic) and that can
cause the linker (and hence configure) crash.
Fujitsu compilers are identified by the __FUJITSU macro.
2015-04-30 15:04:53 +09:00
Jeff Squyres
60127b1caa distscript: hugely simplify
Based on initial suggestions from Paul Hargrove
(http://www.open-mpi.org/community/lists/devel/2015/04/17354.php),
simplify the distscript.sh; it really only has to do one thing:
substitute the repo_rev in VERSION.
2015-04-27 06:50:40 -07:00
Jeff Squyres
7d870c8b9e Merge pull request #550 from jsquyres/pr/turn-down-for-WHAT
RFC: opal_config_asm.m4: enable inline assembly on little-endian POWER
2015-04-25 06:25:11 -04:00
Jeff Squyres
0afda878a2 opal_config_asm: remove support for OS X Leopard
We haven't supported OS X Leopard (10.5) for a long time.  So remove
this dead code.
2015-04-24 03:43:56 -07:00
Ralph Castain
df2f002657 Update the name of the distscript.[c]sh file 2015-04-23 18:21:30 -07:00
Nathan Hjelm
b64cf39c3e Remove unnecessary quoting from variables in distscript.sh
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-04-23 13:27:31 -06:00
Nathan Hjelm
deb1542d0d Convert csh script distscript.csh into a POSIX sh script
This commit removes the only cshell script in the Open MPI
project.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-04-23 11:36:12 -06:00
Jeff Squyres
f7b8c11027 opal_config_asm.m4: enable inline assembly on little endian POWER
Suggested by Paul Hargrove,
http://www.open-mpi.org/community/lists/devel/2015/04/17323.php,
amended by Nysal Jan for 32 bit, too.
2015-04-23 05:43:24 -07:00
Jeff Squyres
7da50433f7 opal_check_package: make the var name match
The cache variable now only needs the function name, not the lib name.
2015-04-23 03:22:38 -07:00
Jeff Squyres
97444d82f1 config/Makefile.am: add config/find_common_syms to EXTRA_DIST 2015-04-16 10:08:53 -07:00
Jeff Squyres
2462328ccc config/Makefile.am: whitespace cleanup
No code changes.
2015-04-16 08:56:16 -07:00
Nathan Hjelm
81502fafa8 Merge pull request #379 from hjelmn/remove_enable_smp_locks
Per-RFC: remove the --disable-smp-locks configure option
2015-04-15 10:02:23 -06:00
Dave Goodell
8085edc27c build: detect common symbols at install time
This adds a check at `make install` time to look for common symbols.  It
attempts to ignore "Fortran-shaped" symbols by default.  It also will
look in the source tree for any files named "common_sym_whitelist" and
will ignore any symbols listed in that file (one per line, comments
allowed).

See open-mpi/ompi#375 for more background.
2015-04-14 14:54:26 -07:00
Jeff Squyres
9ac9be15c4 opal_config_subdir.m4: do not export vars before invoking subdir configure
== Short version

Do not export special variables into the environment (e.g., LIBS,
LDFLAGS, etc.) when invoking subdir configure scripts.  This prevents
problems described in open-mpi/ompi#471.

== More detail

Exporing special env variables before invoking a subdir configure
script causes problems in some cases.  E.g., in open-mpi/ompi#471,
when the user configures with `--with-hwloc=/path/to/hwloc`, and that
directory is *not* in a default linker search location will cause the
libevent subdir configuration to fail.

This happens because:

1. We'll pass LIBS="-L/path/to/hwloc/lib -lhwloc" to the libevent
   configure script
1. Meaning: configure-generated executables will link successfully
1. But unless LD_LIBRARY_PATH (or some other
   tell-the-linker-where-to-find-things mechanism) includes
   /path/to/hwloc/lib, the executable can't run.

Specifically, the libevent "hey, does the compiler generate proper
executables?" check will fail, and configure will abort (because OMPI
needs libevent).

I checked the history: exporting these vars dates all the way back to
LAM/MPI.  I can't think of a reason why we need to export these
variables -- AC_CONFIG_SUBDIRs doesn't do it; subdir configure scripts
should be orthogonal from the upper-layer configure script (and its
variables).  So let's remove these export statements and see if
anything breaks.
2015-04-14 07:04:01 -07:00
Jeff Squyres
24fe86b74f opal_config_subdir[_args].m4: use OPAL_VAR_SCOPE_PUSH/POP 2015-04-14 07:04:01 -07:00
Jeff Squyres
f9b7b9f6b2 opal_config_subdir.m4: remove some dead code 2015-04-14 07:04:01 -07:00
Howard Pritchard
28046cdca7 Merge pull request #499 from hppritcha/topic/alps_configury
configury/alps: reduce alps verbosity
2015-03-27 13:19:04 -06:00
Howard Pritchard
f7bf2f7d83 configury/alps: reduce alps verbosity
reduce chattiness of orte_check_alps.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2015-03-27 11:50:05 -07:00
Jeff Squyres
7f3aab9cfa opal_get_version.m4sh: remove stale code
Since getting the git version is very fast (vs. "svnversion"), we
aren't using the opal_ver_need_repo_rev var any more.  So remove this
stale code.
2015-03-26 14:38:17 -07:00
Jeff Squyres
71aae38540 opal_setup_cc.m4: add comment with the specific warning
Also collapse a grep/test into a single statement.
2015-03-26 04:13:53 -07:00
Jeff Squyres
a50f103c0f opal_setup_cc.m4: don't use -finline-functions with clang
Some versions of clang (at least >= 3.5 -- perhaps older versions,
too?) will *warn* about -finline-functions, but still allow it.  This
is very annoying, so check for that warning, too.
2015-03-25 10:31:51 -07:00
Jeff Squyres
0166318966 opal_check_pmi: protect un-prefixed shell variables
Since there's unfortunately only a global namespace for shell
variables, we need to protect un-prefixed shell variables with
OPAL_VAR_SCOPE_PUSH/POP.
2015-03-13 04:48:31 -07:00
Jeff Squyres
914880a368 libtldl: remove libltdl from the tree
The libltdl interface has been completely replaced by the OPAL DL
framework (i.e., the opal_dl interface).

Fixes open-mpi/ompi#311
2015-03-09 08:18:14 -07:00
Jeff Squyres
1995f6beba cuda: convert to opal_dl interface 2015-03-09 08:18:13 -07:00
Jeff Squyres
d6530b0e99 opal_check_package: use AC_SEARCH_LIBS instead of AC_CHECK_LIB
Per discussion on devel
(http://www.open-mpi.org/community/lists/devel/2015/02/17030.php), and
per Autoconf 2.69 docs, use the recommended AC_SEARCH_LIBS instead of
AC_CHECK_LIB (e.g., for functions that appear in libc on some
platforms and in a specific library on other platforms).
2015-03-09 08:15:38 -07:00
Nathan Hjelm
ac82d1a6be Per-RFC: remove the --disable-smp-locks configure option
Use of this configuration option can cause crashing, hanging, and
(worse) incorrect results when btl/sm, btl/scif, or btl/vader are
in use. We discussed this at the January 2015 developers meeting
and it was decided to remove the option entirely. This commit does
just that. All usage of OPAL_WANT_SMP_LOCKS has been removed.
2015-03-04 11:31:43 -07:00
Ralph Castain
1c1d9f69f6 Update the PMI configury to support addition of --with-pmi-libdir option for environments that install the PMI libs in a non-default location 2015-02-27 10:48:28 -08:00
Jeff Squyres
ece8d09b84 opal_setup_wrappers.m4: avoid some repetitive code
Honestly, a bunch of this code could use similar treatment (i.e.,
AC_DEFUN a template that can be used for OPAL/ORTE/OMPI).  However, I
don't quite have time for this today.  Exercise left for the future reader...
2015-02-23 13:54:50 -08:00
Jeff Squyres
f3fd088493 opal_setup_wrappers.m4: whitespace cleanup
No code changes
2015-02-23 13:35:12 -08:00
Jeff Squyres
9b716d946e wrappers: fix errant @{libdir} reference in pkg-config files
The RPATH support added a @{libdir} token into
<package>_WRAPPER_EXTRA_LDFLAGS.  However, these flags are also
substituted into the pkg-config data files, and they don't understand
the @{foo} notation.  So convert @{libdir} into ${libdir}, which
pkg-config *does* understand.

Thanks to Christoph Junghans (@junghans) for notifying us of the issue.

Fixes #406.
2015-02-20 08:43:19 -08:00
Nathan Hjelm
cf91156105 btl/openib: add atomic operation support
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:36 -07:00
Jeff Squyres
c368699bde configury: whitespace cleanup
No code changes.
2015-02-09 20:49:04 -08:00
Jeff Squyres
0acdf34044 configury: --enable-dist ceased being useful long ago
The --enable-dist flag is a relic from a prior iteration of the build
system.  It isn't necessary any more.
2015-02-09 20:49:04 -08:00
Jeff Squyres
1f3823b4f7 distscript.csh: no need to get config.sub|guess from upstream
It used to be important to get the latest config.sub and config.guess
from upstream because architectures were changing rapidly, and the GNU
Autotools released super-slowly.

However, architectures have not been changing nearly as fast -- the
versions of config.guess and config.sub that ship in the GNU Autotools
are fine.  So let's stop getting upstream config.guess|sub from
upstream as part of "make dist".
2015-02-09 20:49:04 -08:00
Jeff Squyres
ffe891a460 opal_setup_cc: remove the -fno-common flag
Per open-mpi/ompi#381, this probably wasn't a good idea.

(cherry picked from commit 8ec69f3375f546752960ba3fcb7bd0957eb595c7)
2015-02-05 14:39:14 -08:00
Gilles Gouaillardet
b42e344129 configury: force OPAL_HAVE_CMPXCHG16B=0 on buggy compilers
per several reports on the devel ML, the opal_lifo test hangs
with intel icc 14.0.0.080 (aka 2013sp1) and intel icc 14.0.1.106 (aka 2013sp1u1).
/* older and more recents compilers work fine
 * buggy compilers work also fine but only with -O0 */
2015-02-05 13:24:12 +09:00
Jeff Squyres
41cfad1e0d opal_setup_cc.m4: clean up and unify the CFLAGS tests
Combine a few of the tests and streamline them a bit.

Make the check for -Wno-long-double and -Wstrict-prototypes be for all
compilers, not just GCC.
2015-02-04 10:40:56 -08:00
Jeff Squyres
1d3c4bd7ac opal_setup_cc.m4: whitespace cleanup
No code changes.
2015-02-04 10:40:56 -08:00
Jeff Squyres
e87a6a04c7 opal_setup_cc.m4: see if -fno-common is supported
If we want picky compilation, add -fno-common to CFLAGS if it is
supported.
2015-02-04 10:40:56 -08:00
Gilles Gouaillardet
c52595b12f config/oshmem_*: portability fixes
convert "test ... -o" to "test ... ||"
convert "test ... -a" to "test ... &&"
2015-02-03 15:35:45 +09:00
Gilles Gouaillardet
f5caa39cdb config/orte_*: portability fixes
convert "test ... -o" to "test ... ||"
convert "test ... -a" to "test ... &&"
2015-02-03 15:33:13 +09:00
Gilles Gouaillardet
b4c333fe9b config/opal_*: portability fixes
convert "test ... -o" to "test ... ||"
convert "test ... -a" to "test ... &&"
2015-02-03 15:19:22 +09:00
Gilles Gouaillardet
8fc7c79579 config/ompi_*: portability fixes
convert "test ... -o" to "test ... ||"
convert "test ... -a" to "test ... &&"
2015-02-03 14:50:32 +09:00
Jeff Squyres
fa92996ccb opal_check_package: convert "test ... -o" to "test ... ||" 2015-02-02 03:26:19 -08:00
Jeff Squyres
ed3809a23a opal_check_package: whitespace cleanup; no code changes 2015-02-02 03:25:32 -08:00
Jeff Squyres
24f728596d opal_check_package: minor formatting cleanups
Change # comments to dnl, and add a more thorough explanation of the
parameters to OPAL_CHECK_PACKAGE.
2015-02-02 03:24:40 -08:00
rhc54
95660822b9 Merge pull request #370 from rhc54/topic/dvm
Enable a persistent DVM
2015-02-01 17:37:10 -08:00
Jeff Squyres
cb66aeb697 ompi_check_mx: remove now-unused macro
The code base does not support the MX network stack any more.
2015-02-01 09:12:03 -05:00
Ralph Castain
ec5ccb76cf Enable persistent ORTE DVM so users can execute multiple OMPI jobs within an allocation without restarting the DVM every time. 2015-01-30 11:00:43 -08:00
Bert Wesarg
0d0a754c42 Remove VampirTrace. 2015-01-22 08:08:07 +01:00
Jeff Squyres
04bec4475e openib: check more thoroughly for XRC
Some systems have XRC symbols in their libibverbs libraries, but do
not have the appropriate XRC bits in their devel headers (cough cough
RHEL 6.5 libibverbs-rocee-*.x86-64.rpm cough cough).

So expand the XRC config checks to ensure that we can actually find
one of the XRC constants that we need to compile XRC code before
ruling that we can actually build XRC support.
2015-01-16 18:13:31 -08:00
Gilles Gouaillardet
661c35ca67 cleanup dead code caused by the removal of the --with-threads configure option 2015-01-16 19:13:59 +09:00
Gilles Gouaillardet
7a55d49ca7 configury: per RFC, remove the --with-threads option 2015-01-16 19:13:59 +09:00
Gilles Gouaillardet
e89a2d2c02 make dist: portability fix
if ( -s xxx ) is not supported on Solaris, so use a portable syntax
2015-01-15 18:57:05 +09:00
Gilles Gouaillardet
135ecce0eb btl/openib: rename OPAL_HAVE_XRCD macro into OPAL_HAVE_CONNECTX_XRC_DOMAINS 2015-01-07 13:27:25 +09:00
Gilles Gouaillardet
b3617e736e btl/openib: add XRC support with OFED 3.12+
based on an original patch contributed by Bull.
2015-01-06 15:30:52 +09:00
Howard Pritchard
f009c8425e Merge pull request #325 from hppritcha/topic/issue_324
opal/configury: allow param usage multiple times
2015-01-05 16:19:14 -07:00
Howard Pritchard
a179d6a1d7 opal/configury: add url ref to OPAL_FLAGS_UNIQ
Add a reference to the git issue related to additions to
OPAL_FLAGS_UNIQ to handle multiple instances of --param
in the CFLAGS env. variable.
2015-01-05 16:01:18 -07:00
Howard Pritchard
0a6f841d5f xpmem/config: simple xpmem search on Cray's
Use the pkg-config related m4 functions to find out where
Cray's xpmem.h and libxpmem are located on a system.

With this commit, there is no longer any need to have to
explicitly indicate an xpmem install location on the configure
line, at least for Cray systems running CLE 4.X and 5.X.
2014-12-24 14:40:06 -07:00
Howard Pritchard
66f447b396 opal/configury: allow param usage multiple times
Turns out the OPAL_FLAGS_UNIQ function was chopping
off multiple instances of --param when set in the
CFLAGS.  This can happen when -mnative or other machine
target is specified as part of CFLAGS.

Thanks to QuesarVII for reporting this and supplying a patch.

Fixes #324
2014-12-23 15:45:18 -07:00
Gilles Gouaillardet
8976dcf610 configury: fix pthread flags for fortran 2014-12-22 19:13:45 +09:00
Gilles Gouaillardet
38fdce3aa9 configury: fix a typo in config/opal_config_threads.m4 2014-12-22 18:25:18 +09:00
Gilles Gouaillardet
30cde04139 configury: fix git describe with VPATH 2014-12-22 15:14:33 +09:00
Nathan Hjelm
79d8f6e54d Check if the processor supports compare-and-exchange on 128-bit values.
Before this commit we checked if the compiler supported compare-and-exchange
on 128-bit values. This turned out to be insufficient. This commit strengthens
the check to see if the processor supports the instruction (or built-in). This
check will not work when cross-compiling (will always disable the 128-bit
atomic) so overrides have been added for this case.
2014-12-17 23:34:12 -07:00
Jeff Squyres
e5b0b81ff7 Fortran: tweak wording of C_FUNLOC test message 2014-12-17 03:03:28 -08:00
Gilles Gouaillardet
27aec2ef5b configury: disable f08 fortran bindings if the compiler does
not support c_funloc with TS 29113 subclause 8.1 aka
removed restrictions on ISO_C_BINDING module procedures.
2014-12-17 17:35:45 +09:00
Howard Pritchard
6e1317db68 alps/config: add WRAPPER defines when alps found
Add WRAPPER flags for alps libraries to support
static builds.
2014-12-16 09:52:24 -08:00
Gilles Gouaillardet
cfcce01faf configury: test the __sun macro to detect solaris OS.
recent oraclestudio compilers do not set the __sun__ macro
2014-12-16 18:21:58 +09:00
Nathan Hjelm
ccbb869274 Use AC_TRY_LINK not AC_TRY_COMPILE when testing for __sync_bool_compare_and_swap on 128-bit values 2014-12-09 18:56:21 -07:00
Jeff Squyres
d02756cdbb libfabric: various configury updates
1. Ensure to override CFLAGS properly.  Move the setting of CFLAGS outside the AM_CONDITIONAL so that Automake doesn't get confused (because CFLAGS is already set inside an AM_CONDITIONAL -- moving it outside the conditional ensure that this local CFLAGS override trumps all other CFLAGS overrides).
2. Only build libfabric on Linux. Add a little more configury to ensure that we only try to build libfabric on Linux.
3. Remove a dead/unused file
4. Fix typo in condition check
5. Use "false", not "/bin/false"
2014-12-08 11:39:07 -08:00
Jeff Squyres
7a96b58882 common verbs: remove usnic-specific code
Now that the usnic BTL uses libfabric, we can remove the
usnic-specific code from opal/mca/common/verbs.
2014-12-08 11:37:37 -08:00
Jeff Squyres
984982790a usnic: convert from verbs to libfabric (yay!)
This commit represents the conversion of the usnic BTL from verbs to
libfabric.

For the moment, libfabric is embedded in Open MPI (currently in the
usnic BTL).  This is because the libfabric API is still changing, and
also has not yet been released.  Ultimately, this embedded copy of
libfabric will likely disappear and the usnic BTL will rely on an
external installation of libfabric.

New configure options:

* --with-libfabric: will cause configure to fail if libfabric support
    cannot be built
* --without-libfabric: will prevent libfabric support from being built
* --with-libfabric=DIR: use an external libfabric installation
* --with-libfabric-libdir=LIBDIR: when paired with --with-libfabric=DIR,
    use LIBDIR for the libfabric installation library dir

The --with-libnl3[-libdir] arguments are now gone.
2014-12-08 11:37:37 -08:00
Nathan Hjelm
077f4a2982 Merge pull request #297 from hjelmn/topic/cmpset128
Add support for 128-bit compare and swap on x86_64 when available.
2014-12-04 16:05:13 -06:00
Nathan Hjelm
0efe6baf64 Add check for -mcx16 flag for 128-bit compare and swap
Some versions of gcc require this flag to be set before the __sync
builtin atomic compare and swap will support 128-bit values. If the
flag is required this check adds the flag to the CFLAGS.
2014-12-04 14:25:53 -07:00
Howard Pritchard
dc311e3a4b minor ugni config cleanup 2014-12-04 12:16:55 -07:00
Howard Pritchard
53dd5b6379 minor cray pmi config cleanup 2014-12-04 11:04:02 -07:00
Nathan Hjelm
fe787512d8 Add support for __sync builtin compare and swap on 128-bit values 2014-12-04 09:23:51 -07:00
Nathan Hjelm
b2b58b31a2 Add support for 128-bit compare and swap on x86_64 when available.
A 128-bit compare-and-swap will enable a better atomic lifo implementation
that uses the pointer + counter method to avoid ABA issues. This commit
adds configury to check for the instruction (cmpxchg16b) and adds an
implementation that uses the __int128 type available in C99.
2014-12-04 08:53:28 -07:00
Howard Pritchard
c67afadcfc Merge pull request #289 from hppritcha/topic/remove_pmi
Topic/remove pmi
2014-12-03 16:58:35 -07:00
Jeff Squyres
4e8ea6f716 tm: add proper libraries for static builds
Ensure to set the proper WRAPPER_EXTRA flags for static builds.
2014-12-03 13:32:56 -08:00
Jeff Squyres
92c2ff91ec Revert "Cleanup static build requirements by adding the wrapper flags back to the component configure.m4's. Minor cleanup of the lsf configure logic."
This reverts commit open-mpi/ompi@32bf0e7b7e.
2014-12-03 13:15:20 -08:00
Howard Pritchard
191fe0f949 alps configury changes
Clean up the orte_check_alps.m4.  There was a little of
unnecesary stuff for handling cle 5, since it wasn't actually
doing the right thing, which would be to use pkg-config to
find dependencies both for dynamic and static linking.

Decouple the searching for alps libs, etc. from cray pmi.

Switch the alps ess  and alps odls components' config files
to use the ALPS m4 macro.

alps configury fixes

Improve a check for detecting CLE release.
Improve an error message.
2014-12-03 09:44:17 -07:00
Ralph Castain
32bf0e7b7e Cleanup static build requirements by adding the wrapper flags back to the component configure.m4's. Minor cleanup of the lsf configure logic. 2014-12-03 07:14:06 -08:00
Ralph Castain
0f94be1268 Revert "If someone specifically asks for knem support and we can't do it, then we really should abort."
This reverts commit 6287d43c47.
2014-12-03 07:10:54 -08:00
Artem Polyakov
859b9f951f Add "-I$srcdir/opal/libltdl/" so conftest will allways set lt_dladvise. 2014-12-03 08:29:07 +06:00
Jeff Squyres
c6f222a5af configury: add "./configure V=1" verbose mode
Currently only shows whether opal_mca.m4 decides whether to build a
component or not.  This will be helpful in debugging a remote user's
setup that somehow, mysteriously decides not to build a specific
component.
2014-12-02 17:50:44 -08:00
Jeff Squyres
ed6c15be89 configury: whitespace and shell quoting cleanup
Remove extra whitespace, change foo="$bar" to foo=$bar,
and change one instance of "$foo" = "1" to $foo -eq 1.
2014-12-02 10:43:23 -08:00
Jeff Squyres
f229dcd1bb configury: fix lt_dladvise_init grep test
Change the CPPFLAGS to just -I$srcdir, and change the include file to
check to be just opal/libltdl/ltdl.h.  Do this because the CPPFLAGS
are passed to the preprocessor, and the C program that is passed
through the preprocessor is basically:

    #include <opal/libltdl/ltdl.h>

Using the proper -I covers both VPATH and non-VPATH cases.
2014-12-02 10:42:57 -08:00
Ralph Castain
6287d43c47 If someone specifically asks for knem support and we can't do it, then we really should abort. 2014-12-01 09:47:47 -08:00
Gilles Gouaillardet
9d9d05b22d configury: fix opal_config_pthreads when -lrt is set
the test program was successful without -pthread if -lrt is used.
-pthread *is* required in order to correctly handle
the pthread_atfork function.
2014-12-01 19:02:31 +09:00
Ralph Castain
f4aa94dddf Keep trying changes to lsf configury 2014-11-30 11:50:30 -08:00
George Bosilca
6772b07792 Only use RDTSCP if supported by the processor.
Conflicts:
	opal/include/opal/sys/amd64/timer.h
2014-11-27 11:29:47 -05:00
Nathan Hjelm
1b564f62bd Revert "Merge pull request #275 from hjelmn/btlmod"
This reverts commit ccaecf0fd6, reversing
changes made to 6a19bf85dd.
2014-11-19 23:22:43 -07:00
Nathan Hjelm
bf7daac388 btl/openib: add atomic operation support 2014-11-19 11:33:04 -07:00
Ralph Castain
0338bc80b7 Add the LSF libraries as required for static build 2014-11-19 09:38:49 -08:00