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

1113 Коммитов

Автор SHA1 Сообщение Дата
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
Jeff Squyres
225c684ccc opal_check_portals.m4: remove this unused file
It looks like OPAL_CHECK_PORTALS is not used anywhere; it looks like
it has been completely replaced by opal_check_portals4.m4
(OPAL_CHECK_PORTALS4).
2014-11-16 12:44:14 -08:00
Howard Pritchard
07263889d5 Delete old gni config file
Delete a legacy ompi_check_gni m4 file.  No longer used.
2014-11-04 16:20:35 -07:00
Howard Pritchard
67b0f8de7f separate out cray pmi config
The mixing of the Slurm PMI and Cray PMI configure was getting
messy and dangerous - developers working on Slurm PMI often don't
have access to Cray PMI, etc.

This mod pulls out the Cray PMI configure into a separate m4 file.
Cray pmi is now configured as follows:

1) on Cray CLE 5 and higher, Cray PMI is auto detected.  pkg-config
   is used to resolve the necessary CPP flags, link flags and libs,
   etc.  Nothing needs to be added to the configure line to pick up
   Cray PMI.

2) on legacy Cray CLE 4 systems with PMI 4.X, Cray PMI is also
   auto detected.

3) on legacy Cray CLE 4 systems with PMI 5.X Cray PMI can't be auto-detected
   owing to changes in the PMI pkg-config file which result in pkg-config
   returning an error owing to a dependency of PMI on newer versions of ALPS
   installs that are not present on CLE 4. So, for those falling in to this
   situation, the --with-cray-pmi=(DIR) method needs to be used.

   DIR specifies the Cray PMI install directory.  The configure file looks
   for required alps libraries first in /usr/lib/alps, then in
   /opt/cray/xe-sysroot/default/usr/lib/alps.
2014-11-04 15:25:25 -07:00
Jeff Squyres
6164dc4960 fortran: fix linking with Fortran sentinel values
In OMPI 1.8 and 1.8.1, we didn't allow gfortran to use the ignore-TKR
style "mpi" Fortran module (which is written in Fortran).  Instead,
gfortran used the TKR style "mpi" module, which is written in C.

In OMPI 1.8.2, we removed the gfortran restriction (for suitably
modern gfortran -- i.e., >= 4.9).  This allowed gfortran to use the
ignore-TKR style "mpi" module, but exposed a bug where MPI Fortran
sentinel values wouldn't be linked properly on OS X.  The solution is
to use ```-Wl,-flat_namespace``` (see the OS X ld(1) man page for
details) when both building the libraries and in the wrapper
compilers.

Thanks to Github user yafshar for rasising the issue.

Fixes #259.
2014-11-04 14:30:28 -05:00
Ralph Castain
c2454e7fbe Require -D_REENTRANT flag for both CFLAGS and CPPFLAGS if building under Solaris 2014-11-03 21:14:02 -08:00
Jeff Squyres
8c3fb41eb7 opal_check_ident.m4: make the test match what we do in the code base
Per #257, the configure test used to check:

```c
```

But out in the code base, we actually do this:

```c
// ...
```

This commit updates the configure test to ```#define``` a string and
then use that with the various ident strategies.

Fixes #257
2014-11-03 12:17:19 -08:00
Jeff Squyres
81dafbdba1 opal_check_pmi.m4: trivial whitespace cleanup; no code changes 2014-11-01 04:02:23 -07:00
Jeff Squyres
b7e64757be pkg.m4: "Open MPI", not "OpenMPI" :-) 2014-11-01 03:52:41 -07:00
Howard Pritchard
9e382d634d add new function to pkg.m4 to help static linking
There is a continued interest in being able to do static
linking of executables.  When using pkg-config to determine
linking requirements, the default behavior is to only
specify libraries required for dynamic linking.

In many cases, it suffices even for static linking to
use

pkg-config --libs package

to obtain the linkage string required for ld.  However, for
libraries that have dependencies on non-standard libraries,
this may not be the case.  The cray PMI library is such a case.

On a Cray CLE 5.X system, for example

pkg-config --libs cray-pmi

returns a string like

-L/opt/cray/pmi/5.0.2-1.0000.9906.117.2.ari/lib64 -lpmi

whereas

pkgconfig --static --libs cray-pmi

returns a string (modified for git commits) like

-L/opt/cray/pmi/5.0.2-1.0000.9906.117.2.ari/lib64
-L/opt/cray/ugni/5.0-1.0000.8563.255.10.ari/lib64
-L/opt/cray/alps/6.0.0-2.0000.8544.102.21.ari/lib64
-L/opt/cray/wlm_detect/1.0-1.0000.48964.8.2.ari/lib64
-L/opt/cray/rca/1.0.0-2.0000.49383.133.60.ari/lib64
-lpmi -lpthread -lalpslli -lpthread -lwlm_detect
-lugni -lpthread -lalpsutil -lpthread -lrca

Unfortunately the pkg.m4 does not contain a function for adding
the --static option to PKG_CHECK_MODULES. This commit defines
a new function, PKG_CHECK_MODULES_STATIC, which in addition to
defining the $1_CFLAGS and $1_LIBS variables defined by PKG_CHECK_MODULES,
also defines a $1_STATIC_LIBS.
2014-10-31 14:17:23 -06:00
Jeff Squyres
491830b7b5 configury: remove deprecated --with-openib* configure options
These were deprecated in the v1.7/v1.8 series; they are being removed
for the v1.9 series.
2014-10-29 06:02:33 -07:00
Jeff Squyres
aefe3f2edd configury: fixes for OPAL|ORTE_SET_LIB_PREFIX
We must also set the static library filenames properly (i.e., obey the
$FRAMEWORK_LIB_PREFIX that was set).  Hence, set the prefixes earlier
in configure.ac, and update OPAL_MCA to set the static library names
properly.
2014-10-28 17:13:14 -07:00