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

1264 Коммитов

Автор SHA1 Сообщение Дата
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
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
Ralph Castain
4f0c1ae8d9 Continue cleanup of the PMI config code. Eliminate the multiple calls to check for pmi1 and pmi2 - we must check it only once to get the pmix components to build only in the correct situations. Ensure we set the wrapper flags so we handle static builds correctly. 2014-10-27 20:37:33 -07:00
Ralph Castain
aa207ad2f3 Per Gilles, we really should set the reentrant flags when building Java support 2014-10-24 10:20:42 -07:00
Gilles Gouaillardet
8da6c14e06 configury: fix a typo in config/opal_check_pmi.m4 2014-10-24 13:31:36 +09:00
Ralph Castain
75d8a7f25b Refactor the PMI configure check logic to be a lot cleaner and simpler. 2014-10-23 18:35:18 -07:00
Ralph Castain
894acb0aa8 configury: new OPAL_SET_MCA_PREFIX/ORTE_SET_MCA_CMD_LINE_ID macros
These two macros set the MCA prefix and MCA cmd line id,
   respectively.  Specifically, MCA parameters will be named
   PREFIX<foo> in the environment, and the cmd line will use
   -ID foo bar.

   These macros must be called during configure.ac and a value
   supplied. In the case of Open MPI, the values given are
   PREFIX=OMPI_MCA_ and ID=mca.

   Other projects (such as ORCM) will call these macros with
   their own unique values.  For example, ORCM uses PREFIX=ORCM_MCA_
   and ID=omca

   This scheme is necessary to allow running Open MPI applications under
   systems that use their own versions of ORTE and OPAL.  For example,
   when running OMPI applications under ORCM, we need the MCA params passed
   to the ORCM daemons to be separated from those recognized by the OMPI application.
2014-10-22 18:57:40 -07:00
Jeff Squyres
c22e1ae33b configury: new OPAL_SET_LIB_PREFIX/ORTE_SET_LIB_PREFIX macros
These two macros set the prefix for the OPAL and ORTE libraries,
respectively.  Specifically, the OPAL library will be named
libPREFIXopen-pal.la and the ORTE library will be named
libPREFIXopen-rte.la.

These macros must be called, even if the prefix argument is empty.

The intent is that Open MPI will call these macros with an empty
prefix, but other projects (such as ORCM) will call these macros with
a non-empty prefix.  For example, ORCM libraries can be named
liborcm-open-pal.la and liborcm-open-rte.la.

This scheme is necessary to allow running Open MPI applications under
systems that use their own versions of ORTE and OPAL.  For example,
when running MPI applications under ORTE, if the ORTE and OPAL
libraries between OMPI and ORCM are not identical (which, because they
are released at different times, are likely to be different), we need
to ensure that the OMPI applications link against their ORTE and OPAL
libraries, but the ORCM executables link against their ORTE and OPAL
libraries.
2014-10-22 10:32:19 -07:00
Artem Polyakov
ce7102cb54 One more fix for libltdl configuration.
Remove unneeded "-I" statements from conftest compilation command.
2014-10-21 21:06:28 +07:00
Nathan Hjelm
13643f5b6e btl/vader: improved single-copy support
This commit makes the folowing changes:

 - Add support for the knem single-copy mechanism. Initially vader will only
   support the synchronous copy mode. Asynchronous copy support may be added
   int the future.

 - Improve Linux cross memory attach (CMA) when using restrictive ptrace
   settings. This will allow Open MPI to use CMA without modifying the system
   settings to support ptrace attach (see /etc/sysctl.d/10-ptrace.conf).

 - Allow runtime selection of the single copy mechanism. The default behavior
   is to use the best available. The priority list of single-copy mehanisms is
   as follows: xpmem, cma, and knem.

 - Allow disabling support for kernel-assisted single copy.

 - Some tuning and bug fixes.
2014-10-20 11:44:52 -06:00
Artem Polyakov
d5adb0fa82 Fix libltdl VPATH configuration. 2014-10-17 22:40:32 +07:00
Artem Polyakov
f12ed3efa3 Fix building system: correct libltdl check for advise capability. 2014-10-17 12:59:44 +07:00
Devendar Bureddy
cbb3e95ce9 OSHMEM: Fix application abort
register on_exit() hook to know exit status inorder to
skip shmem_finalize destructor in case of non-zero exit status
2014-10-14 21:07:28 +03:00
Nathan Hjelm
083a659217 Correct some typos in Cray PMI detection 2014-10-14 10:28:36 -06:00
Nathan Hjelm
169a1866b8 Modify Cray PMI check to detect PMI on older systems 2014-10-09 17:01:31 -06:00
Ralph Castain
b1a58726ac Cleanup the PMI m4 syntax with respect to -a, and look for libpmi* so we can pickup both .a, .la, and whatever other extensions that particular system might use. 2014-10-09 14:04:43 -07:00
Nadezhda Kogteva
ffa8674e01 Fix bugs in PMI configure: set correct include path, fix test command with multiple conditions. 2014-10-09 17:23:56 +03:00
Ralph Castain
9c027e6def Update the PMI configure logic to handle the oddball case where both lib and lib64 may exist, and the required files may be in one or the other of them. 2014-10-07 10:20:46 -07:00
Gilles Gouaillardet
399fc1bb3e configury: remove unneeded assignments 2014-10-06 16:36:03 +09:00
Jeff Squyres
413e775dbf version configury: make dist now works
Update the VERSION file scheme:

* Remove "want_repo_rev".
* Add "tarball_version".

All values are now always included (major, minor, release, greek,
repo_rev).  However, configure.ac now runs "opal_get_version.sh
... --tarball", which will return the value of tarball_version (if it
is non-empty) or the "full" version string (i.e.,
"major.minor.releasegreek").
2014-10-02 11:32:54 -07:00
Jeff Squyres
8468424f45 distscript: remove configure.params and autogen.subdirs kruft
Remove configure.params support: configure.params hasn't been used in
years.

Also remove autogen.subdirs support; those should really be handled by
their respective Makefile.am's.
2014-10-02 11:32:54 -07:00
Jeff Squyres
cfcf3fa42d distscript: whitespace cleanup, remove ancient kruft
There was some (almost) wholly-commented out code in here that reaches
back to the beginning of the project.  Just delete it.
2014-10-02 11:32:54 -07:00
Jeff Squyres
99c39991cd infrastructure: first cut at updates for git
This is a first cut at updating various infrastructure for git.  There
will definitely be more commits; some of the scripts require
committed/pushed code (e.g., the various make-tarball scripts).  So
it's not possible to know if we got it right without committing/pushing.
2014-10-01 16:32:52 -07:00
Ralph Castain
9e35f80ab6 Don't multiply define WANT_PMI_SUPPORT and friends. Turns out they weren't being used anywhere anyway, so no point in defining them at all
This commit was SVN r32822.
2014-09-30 20:43:25 +00:00
Jeff Squyres
d4e2809531 version: always use all 3 version numbers
In all previous releases, the version number would be "A.B.C" unless C
was 0, in which case it would be "A.B".  This commit changes that
scheme to always be "A.B.C", even if C==0.

Hence, v1.9.0 will be the first release where this new scheme is evident.

This commit was SVN r32816.
2014-09-30 15:54:18 +00:00
Rolf vandeVaart
16d6e82ed2 Fix issue repored on User list. Error out when --with-cuda and --disable-dlopen are together.
This commit was SVN r32808.
2014-09-29 13:25:17 +00:00
Jeff Squyres
91114c22d4 fortran: strengthen the storage_size() check
It's not enough to AC_COMPILE_IFELSE, do AC_LINK_IFELSE to really make
sure the compiler suite supports it.

Refs trac:4917

This commit was SVN r32802.

The following Trac tickets were found above:
  Ticket 4917 --> https://svn.open-mpi.org/trac/ompi/ticket/4917
2014-09-26 18:17:55 +00:00
Rolf vandeVaart
399dc3db43 Code to check for managed memory. Configure support also.
This commit was SVN r32801.
2014-09-26 16:24:45 +00:00
Gilles Gouaillardet
b1c4daa956 configury: silence warning on Solaris
* remove config/ompi_config_solaris_threads.m4 which was dead code
 * check if pthreads work "as is" on all platforms including Solaris
   (FWIW, the test should have been skipped if Solaris threads are used
    and not if configure is ran on a Solaris box)

Refs trac:4911

This commit was SVN r32792.

The following Trac tickets were found above:
  Ticket 4911 --> https://svn.open-mpi.org/trac/ompi/ticket/4911
2014-09-25 07:26:16 +00:00
Gilles Gouaillardet
5d0e65085f configury: silence warning on Solaris
revert r32501

Refs trac:4911

This commit was SVN r32791.

The following SVN revision numbers were found above:
  r32501 --> open-mpi/ompi@0afed999cd

The following Trac tickets were found above:
  Ticket 4911 --> https://svn.open-mpi.org/trac/ompi/ticket/4911
2014-09-25 07:17:58 +00:00
Jeff Squyres
d13034d0b0 fortran: add configury to check for storage_size()
gfortran 4.8 does not support storage_size() on all relevant types
that we need.  So add a configure test to check and see if the
compiler's storage_size() intrinsic supports enough types for us to do
MPI_SIZEOF.

Also remove an accidentally redundant check for fortran INTERFACE.

Refs trac:4917

This commit was SVN r32790.

The following Trac tickets were found above:
  Ticket 4917 --> https://svn.open-mpi.org/trac/ompi/ticket/4917
2014-09-25 00:17:29 +00:00
Artem Polyakov
f2e586980b Fix timing framework:
1. Fixes according to (http://www.open-mpi.org/community/lists/devel/2014/09/15869.php)
2. Force mpisync:rank0 to gather results. Now sync info is written by rank0 to the output file.
3. Improve mpirun_prof: 1) adopt to the environment (SLURM/TORQUE); 2) recognize some noteset-related mpirun options.

This commit was SVN r32772.
2014-09-23 12:59:54 +00:00
Jeff Squyres
d7eaca83fa Fortran: Fix MPI_SIZEOF. What a disaster. :-(
What started as a simple ticket ended up reaching the way up to the
MPI Forum.
    
It turns out that we are supposed to have MPI_SIZEOF for all Fortran
interfaces: mpif.h, the mpi module, and the mpi_f08 module.
    
It further turns out that to properly support MPI_SIZEOF, your Fortran
compiler *has* support the INTERFACE keyword and ISO_FORTRAN_ENV.  We
can't use "ignore TKR" functionality, because the whole point of
MPI_SIZEOF is that the implementation knows what type was passed to it
("ignore TKR" functionality, by definition, throws that information
away).  Hence, we have to have an MPI_SIZEOF interface+implementation
for all intrinsic types, kinds, and ranks.

This commit therefore adds a perl script that generates both the
interfaces and implementations for MPI_SIZEOF in each of mpif.h, the
mpi module, and mpi_f08 module (yay consolidation!).

The perl script uses the results of some new configure tests:

* check if the Fortran compiler supports the INTERFACE keyword
* check if the Fortran compiler supports ISO_FORTRAN_ENV
* find the max array rank (i.e., dimension) that the compiler supports

If the Fortran compiler supports both INTERFACE and ISO_FORTRAN_ENV,
then we'll build the MPI_SIZEOF interfaces.  If not, we'll skip
MPI_SIZEOF in mpif.h and the mpi module.  Note that we won't build the
mpi_f08 module -- to include the MPI_SIZEOF interfaces -- if the
Fortran compiler doesn't support INTERFACE, ISO_FORTRAN_ENV, and a
whole bunch of ther modern Fortran stuff.

Since MPI_SIZEOF interfaces are now generated by the perl script, this
commit also removes all the old MPI_SIZEOF implementations (which were
laden with a zillion #if blocks).

cmr=v1.8.3

This commit was SVN r32764.
2014-09-19 13:44:52 +00:00
Jeff Squyres
0c98cf709e opal_get_version.m4: use better "git log" command
For when you have a git repository, this is a bit more succinct form
of getting a git hash of the HEAD.

This commit was SVN r32758.
2014-09-18 21:03:31 +00:00
Jeff Squyres
cf56a369c2 fortran: configure test for "optional" keyword was too aggressive
After discussions with Craig, it looks like the check in this
configure test was too aggressive and based on a prior mpi_f08
implementation model.  We don't use "value" any more, and we also
don't pass optional parameters back to C code, so this test was
checking far more than it needed to... in a non-standard way (which
breaks in the Intel 2015 Fortran compiler).  All we ''really'' need is
to check whether the compiler supports the "optional" keyword.  So
make the test ''much'' simpler and just check whether ''optional''
compiles successfull or not.

Reviewed by Craig Rasmussen

cmr=v1.8.3:reviewer=ompi-rm1.8

This commit was SVN r32752.
2014-09-17 22:10:11 +00:00
Ralph Castain
dfb952fa78 [Contribution from Artem - moved it to svn from git for him]
Replace our old, clunky timing setup with a much nicer one that is only available if configured with --enable-timing. Add a tool for profiling clock differences between the nodes so you can get more precise timing measurements. I'll ask Artem to update the Github wiki with full instructions on how to use this setup.

This commit was SVN r32738.
2014-09-15 18:00:46 +00:00
Jeff Squyres
66aeadacff opal_search_libs: correctly AC_DEFINE results of search
1. It is not sufficient to put the result of m4_toupper() in a
variable and use that variable as the variable name in
AC_DEFINE_UNQUOTED.  Instead, just use m4_toupper() directly in
AC_DEFINE_UNQUOTED.  Also, save the result value in a "permanent"
variable that isn't erased, just in case autoconf decides to be lazy
about instantiating the body AC_DEFINE_UNQUOTED and move it later
(this is probably overkill :-) ).
1. Use the OMPI Way of always defining macros (to 0 or 1).  Then also
slightly change the logic in util/basename.c to just check
OPAL_HAVE_DIRNAME (because it will always be defined).

Refs trac:4894

This commit was SVN r32723.

The following Trac tickets were found above:
  Ticket 4894 --> https://svn.open-mpi.org/trac/ompi/ticket/4894
2014-09-13 00:28:30 +00:00
Jeff Squyres
01e62b1994 orte_check_lsf.m4: improve the search for LSF libraries
Based on a patch from Joshua Randall, improve the search for LSF
libraries in orte_check_lsf.m4.  This improvement theorhetically
allows the LSF libraries to work in a variety of OSs by properly
searching for its dependent libraries using a variety of library
names.

Fixes trac:4889.

This commit was SVN r32722.

The following Trac tickets were found above:
  Ticket 4889 --> https://svn.open-mpi.org/trac/ompi/ticket/4889
2014-09-12 23:52:18 +00:00
Jeff Squyres
2024d28a65 opal_search_libs.m4: remove redundant AC_MSG_CHECKING/RESULT
The AC_MSG_CHECKING/AC_MSG_RESULT in OPAL_SEARCH_LIBS_CORE were
generating recursive redundant output (i.e., AC_SEARCH_LIBS already
outputs "checking for library containing X... -lY".

Also add the "uppername" logic to OPAL_SEARCH_LIBS_COMPONENT so that
these two macros stay symmetrical.

Refs trac:4894.

This commit was SVN r32721.

The following Trac tickets were found above:
  Ticket 4894 --> https://svn.open-mpi.org/trac/ompi/ticket/4894
2014-09-12 23:27:33 +00:00
Ralph Castain
ec51cbab9f We are failing to use the system dirname function because we are not correctly flagging that we found it. Modify opal_search_libs_core to set an "opal_have_foo" flag to indicate that we found the specified function, and then modify the have_dirname check to look for it.
cmr=v1.8.3:reviewer=jsquyres

This commit was SVN r32669.
2014-09-04 16:10:38 +00:00
Ralph Castain
1c4870357b Per patch submitted by J. Randall, add missing library to LSF integration
cmr=v1.8.3:reviewer=rhc

This commit was SVN r32661.
2014-09-02 00:38:07 +00:00
Howard Pritchard
51c73f116b switch check for ugni to use pkg-config
deprecate with-ugni in lanl/cray_xe6 platform file

This commit was SVN r32625.
2014-08-28 22:03:41 +00:00
Gilles Gouaillardet
d440ee80a4 oshmem configury: fix a test
Fix a test in r32590

Refs trac:4868

This commit was SVN r32594.

The following SVN revision numbers were found above:
  r32590 --> open-mpi/ompi@36b315db2d

The following Trac tickets were found above:
  Ticket 4868 --> https://svn.open-mpi.org/trac/ompi/ticket/4868
2014-08-25 06:57:30 +00:00
Gilles Gouaillardet
df8baf685f oshmem configury: fix a typo
Fix a typo in r32590

Refs trac:4868

This commit was SVN r32593.

The following SVN revision numbers were found above:
  r32590 --> open-mpi/ompi@36b315db2d

The following Trac tickets were found above:
  Ticket 4868 --> https://svn.open-mpi.org/trac/ompi/ticket/4868
2014-08-25 04:41:56 +00:00
Jeff Squyres
36b315db2d oshmem configury: tighten up the pshmem checks
Make the checks for macro weak symbols be equivalent to the checks for
weak symbols.

Also fix up several OSHMEM configure checks:

* fix an errant AC_MSG_REQUEST
* don't check for profiling ability during configure options checks.
  Instead, defer it to later, when we have weak symbol check results.
* don't directly call _FOO macros from the top level
* make setting up OSHMEM profiling similar to MPI profiling: create
  OSHMEM_SETUP_PROFILING macro
* cache the results of checking for macro weak symbols (for parity
  with the weak symbol check -- although we should really
  revisit/audit the whole cache-checking scheme throughout all m4
  code; it may well be inconsistently used)
* add some more [] m4 quoting, even in the original C weak symbols test
* style: fix some whitespace errors

Refs trac:4868

This commit was SVN r32590.

The following Trac tickets were found above:
  Ticket 4868 --> https://svn.open-mpi.org/trac/ompi/ticket/4868
2014-08-23 10:50:14 +00:00
Ralph Castain
aec5cd08bd Per the PMIx RFC:
WHAT:    Merge the PMIx branch into the devel repo, creating a new
               OPAL “lmix” framework to abstract PMI support for all RTEs.
               Replace the ORTE daemon-level collectives with a new PMIx
               server and update the ORTE grpcomm framework to support
               server-to-server collectives

WHY:      We’ve had problems dealing with variations in PMI implementations,
               and need to extend the existing PMI definitions to meet exascale
               requirements.

WHEN:   Mon, Aug 25

WHERE:  https://github.com/rhc54/ompi-svn-mirror.git

Several community members have been working on a refactoring of the current PMI support within OMPI. Although the APIs are common, Slurm and Cray implement a different range of capabilities, and package them differently. For example, Cray provides an integrated PMI-1/2 library, while Slurm separates the two and requires the user to specify the one to be used at runtime. In addition, several bugs in the Slurm implementations have caused problems requiring extra coding.

All this has led to a slew of #if’s in the PMI code and bugs when the corner-case logic for one implementation accidentally traps the other. Extending this support to other implementations would have increased this complexity to an unacceptable level.

Accordingly, we have:

* created a new OPAL “pmix” framework to abstract the PMI support, with separate components for Cray, Slurm PMI-1, and Slurm PMI-2 implementations.

* Replaced the current ORTE grpcomm daemon-based collective operation with an integrated PMIx server, and updated the grpcomm APIs to provide more flexible, multi-algorithm support for collective operations. At this time, only the xcast and allgather operations are supported.

* Replaced the current global collective id with a signature based on the names of the participating procs. The allows an unlimited number of collectives to be executed by any group of processes, subject to the requirement that only one collective can be active at a time for a unique combination of procs. Note that a proc can be involved in any number of simultaneous collectives - it is the specific combination of procs that is subject to the constraint

* removed the prior OMPI/OPAL modex code

* added new macros for executing modex send/recv to simplify use of the new APIs. The send macros allow the caller to specify whether or not the BTL supports async modex operations - if so, then the non-blocking “fence” operation is used, if the active PMIx component supports it. Otherwise, the default is a full blocking modex exchange as we currently perform.

* retained the current flag that directs us to use a blocking fence operation, but only to retrieve data upon demand

This commit was SVN r32570.
2014-08-21 18:56:47 +00:00
Gilles Gouaillardet
2df0ede613 configury: disable pshmem if buggy compiler is detected
PGI compilers older that 2013 have a buggy preprocessor
that does not support pragma defined in a macro called
itself called from an other macro

cmr=v1.8.2:reviewer=jsquyres

This commit was SVN r32551.
2014-08-19 05:52:34 +00:00
Jeff Squyres
7a8c3ed0d1 opal_config_asm.m4: fix typo in output message
Thanks to Paul Hargrove for spotting the typo.

cmr=v1.8.3:reviewer=rhc

This commit was SVN r32505.
2014-08-11 13:28:17 +00:00
Gilles Gouaillardet
0afed999cd silence warnings
on solaris 10 with gcc 3.4.3, no link flags is required
to use pthreads. First try to link without any flags.

This commit was SVN r32501.
2014-08-11 07:41:54 +00:00
Jeff Squyres
a741406ad6 opal_search_libs.m4: improvements from Dave Goodell's review
Unfortunately, I didn't see Dave's review until CMR #4841 went in.
Oops.

This commit is a handful of minor m4 improvements to that original
r32447 commit.  It can go to v1.8.3, just to minimize drift between
trunk and v1.8.

Reviewed by Dave Goodell.

cmr=v1.8.3:reviewer=ompi-rm1.8

This commit was SVN r32477.

The following SVN revision numbers were found above:
  r32447 --> open-mpi/ompi@c6d9bf906e
2014-08-08 22:22:03 +00:00
Jeff Squyres
c6d9bf906e configury: ensure wrapper static LIBS is filled properly
In core library portions of the configury (e.g., top-level
configure.ac itself), we were calling AC_CHECK_LIB and
OPAL_CHECK_FUNC_LIB to check for various libraries.

'''SIDENOTE:''' It turns out that modern Autoconf has AC_SEARCH_LIBS,
which does just about exactly what OPAL_CHECK_FUNC_LIB does.  So this
commit effectively replaces OPAL_CHECK_FUNC_LIB with AC_SEARCH_LIBS.

However, we never bothered to add these found libraries to the wrapper
compiler list of libraries used for static linking (doh!).  We've been
getting lucky for quite a while that components were adding the same
libraries to their wrapper compiler LIBS list.  

This is problematic, however, if we don't build some of these
components.  For example, Paul Hargrove noticed that if he configured
with --disable-shared --enable-static --disable-io-romio, ROMIO was no
longer adding some libraries to the wrapper LIBS list -- libraries
that just happened to also be needed by core OPAL/ORTE/OMPI layers.

The solution is not to use AC_CHECK_LIB or OPAL_CHECK_FUNC_LIB, but
use a pair of new macros:

 * OPAL_SEARCH_LIBS_CORE: a wrapper around AC_SEARCH_LIBS.  If we add
   something to $LIBS, then also add it to the wrapper list of static
   libraries.  This is the main piece of functionality that was
   wrong/missing.
 * OPAL_SEARCH_LIBS_COMPONENT: similar to OPAL_SEARCH_LIBS_CORE, but
   instead of directly adding it to the wrapper list of static
   libaries, add it to <framework>_<component>_LIBS (which eventually
   gets slurped up into the wrapper list of static libraries.  See the
   lengthy comment in config/opal_setup_wrappers.m4 near the beginning
   of OPAL_SETUP_WRAPPER_INIT() for a more detailed explanation).
   Most components did this correctly already, but one or two weren't
   right, so I implemented this second macro quite similar to the
   first and put it everywhere we already used AC_SEARCH_LIBS or
   OPAL_CHECK_FUNC_LIB.

This needs to soak for a day or two on the trunk before moving to the
v1.8 branch.

Refs trac:4834

cmr=v1.8.2:reviewer=ggouaillardet

This commit was SVN r32447.

The following Trac tickets were found above:
  Ticket 4834 --> https://svn.open-mpi.org/trac/ompi/ticket/4834
2014-08-07 23:54:45 +00:00
Howard Pritchard
52362876b6 add pkg.m4 for PKG_CHK_MODULES, etc. macro
This commit was SVN r32435.
2014-08-05 21:43:58 +00:00
Ralph Castain
adeecad274 Clarify when oshmem is enabled/disabled. Thanks to Paul Hargrove for the language
cmr=v1.8.3:reviewer=jsquyres

This commit was SVN r32431.
2014-08-05 14:52:18 +00:00
Ralph Castain
1e93e85403 Cleanup some autoconf messages - thanks to Paul Hargrove for noting them
cmr=v1.8.3:reviewer=jsquyres

This commit was SVN r32429.
2014-08-05 14:48:42 +00:00
Ralph Castain
747c585c39 Move the OPAL_ENABLE_PROGRESS_THREADS definition to opal_configure_options.m4
This commit was SVN r32405.
2014-08-01 18:11:36 +00:00
Ralph Castain
4ba599a3ad And one more...
This commit was SVN r32404.
2014-08-01 17:12:35 +00:00
Ralph Castain
9633c917a4 Rename the .m4 files to reflect the move to opal so non-MPI projects properly see them
This commit was SVN r32403.
2014-08-01 17:03:34 +00:00
Jeff Squyres
295016c869 fortran: Revert r32354
r32354 breaks gfortran if you --enable-mpi-fortran, because it assumes
the value "all", when then errors out of configure because gfortran
can't currently build the mpi_f08 bindings.

Need to think about what the Right solution is here...

This commit was SVN r32369.

The following SVN revision numbers were found above:
  r32354 --> open-mpi/ompi@6a44eb6c82
2014-07-30 22:48:49 +00:00
Gilles Gouaillardet
6a44eb6c82 Fortran: abort configure is requested binding cannot be built
as pointed by Paul Hargrove, abort configure is the fortran
bindings explicitly requested with --enable-mpi-fortran=...
cannot be built

cmr=v1.8.2:reviewer=jsquyres

This commit was SVN r32354.
2014-07-30 07:14:56 +00:00
Ralph Castain
552c9ca5a0 George did the work and deserves all the credit for it. Ralph did the merge, and deserves whatever blame results from errors in it :-)
WHAT:    Open our low-level communication infrastructure by moving all necessary components (btl/rcache/allocator/mpool) down in OPAL

All the components required for inter-process communications are currently deeply integrated in the OMPI layer. Several groups/institutions have express interest in having a more generic communication infrastructure, without all the OMPI layer dependencies.  This communication layer should be made available at a different software level, available to all layers in the Open MPI software stack. As an example, our ORTE layer could replace the current OOB and instead use the BTL directly, gaining access to more reactive network interfaces than TCP.  Similarly, external software libraries could take advantage of our highly optimized AM (active message) communication layer for their own purpose.  UTK with support from Sandia, developped a version of Open MPI where the entire communication infrastucture has been moved down to OPAL (btl/rcache/allocator/mpool). Most of the moved components have been updated to match the new schema, with few exceptions (mainly BTLs where I have no way of compiling/testing them). Thus, the completion of this RFC is tied to being able to completing this move for all BTLs. For this we need help from the rest of the Open MPI community, especially those supporting some of the BTLs.  A non-exhaustive list of BTLs that qualify here is: mx, portals4, scif, udapl, ugni, usnic.

This commit was SVN r32317.
2014-07-26 00:47:28 +00:00
Jeff Squyres
4da3c85b54 fortran: revert Absoft-based fixes
Rever r32246, r32254, and 32255 -- they were fixing side-effects of
the real bug.  Real fix coming after this one.

This commit was SVN r32286.

The following SVN revision numbers were found above:
  r32246 --> open-mpi/ompi@08d2a1a48d
  r32254 --> open-mpi/ompi@232d4dbb7b
2014-07-22 21:49:22 +00:00
Gilles Gouaillardet
08d2a1a48d fortran: fix compile issue with ABSoft compilers
ABSoft compilers cannot compile a fortran subroutine
with the BIND(C, NAME="name") modifier *and* argument(s)
with the OPTIONAL modifier

This patch detects this unsupported feature and use
adhoc wrappers if it is missing

cmr=v1.8.2:reviewer=jsquyres

This commit was SVN r32246.
2014-07-15 10:41:11 +00:00
Ralph Castain
2cea8a279a Remove stale orcm reference
This commit was SVN r32221.
2014-07-11 19:00:28 +00:00
Jeff Squyres
0089ac20af Fortran: put type(c_ptr) interfaces in a separate file in the TKR mpi module
Older gfortran compilers (e.g., the gfortran that ships in RHEL5) do
not support ISO_C_BINDING, and therefore do not support the
TYPE(C_PTR) type.  As such, they cannot support the overloaded
interfaces for MPI_WIN_ALLOCATE_SHARED and MPI_SHARED_QUERY that are
mandated in MPI-3.

So we separate those interfaces out into a separate .F90 file that is
#include'd in the tkr mpi.F90 file.  In this separate .F90 file, we
use an #if to determine whether the compiler supports ISO_C_BINDING or
not.

Also re-jiggered the order of testing in ompi_setup_mpi_fortran.m4: we
now need to test whether the compiler supports ISO_C_BINDING even when
we're only building the mpi module (not strictly when we're building
the mpi_f08 module).

Finally, tweaked the use-mpi-tkr/Makefile.am to:

* Add some proper dependencies for mpi.F90
* Allow the general AM compilation to be used instead of supplying a
  specific rule for compiling mpi.F90

cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32204.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-07-10 19:10:03 +00:00
Mike Dubman
1b51e472ac MXM: update min required version for mxm as 2.1+
This commit was SVN r32193.
2014-07-10 13:16:57 +00:00
Ralph Castain
f3cb124e50 Revert r32082 and r32070 - the developer's conference has decided to go a different direction on the threaded progress effort. This will involve some degree of prototyping to understand the tradeoffs prior to making a final design decision, and so we'll hold off on the final change until that is completed.
This commit was SVN r32089.

The following SVN revision numbers were found above:
  r32070 --> open-mpi/ompi@12d92d0c22
  r32082 --> open-mpi/ompi@aa6438ef7a
2014-06-25 20:43:28 +00:00
Ralph Castain
12d92d0c22 Per the OMPI developer conference, remove the last vestiges of OMPI_USE_PROGRESS_THREADS
This commit was SVN r32070.
2014-06-24 17:05:11 +00:00
Jeff Squyres
f33cc84ac6 Fortran: disable the descriptor-based mpi_f08 prototype
It will come back someday.

cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32044.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-06-19 13:39:56 +00:00
Jeff Squyres
9ae8b44a44 ompi_fortran_check_bind_c.m4: Fix comment in existing .m4 file
cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32043.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-06-19 13:39:11 +00:00
Jeff Squyres
555073630e Fortran: remove the scripts from the use-mpi-tkr implementation
This is part one of several Fortran improvements and fixes.  This
first part removes the now-defunct scripts that are used to generate
the .f90 files in the use-mpi-tkr implementation, and just commits the
output from those scripts.  This makes long-term maintenance of the
use-mpi-tkr implementation simpler.

cmr=v1.8.2:reviewer=jsquyres:subject=Various Fortran fixes/improvements

This commit was SVN r32040.
2014-06-19 13:35:30 +00:00
Oscar Vega-Gisbert
cdf0bcc6d1 Java - define macro OSHMEM_SETUP_JAVA_BINDINGS
This commit was SVN r31983.
2014-06-11 21:49:31 +00:00
Ralph Castain
6f1320d5cd Cleanup the mess from r31810 - no way that could compile or avoid breaking the trunk. The Makefile's had to be added to oshmem_config_files.m4, and the Makefile.am's had not been updated to the new srcdir/builddir conventions. Also add svn:ignores
This commit was SVN r31811.

The following SVN revision numbers were found above:
  r31810 --> open-mpi/ompi@83bdebbf81
2014-05-19 04:14:54 +00:00
Ralph Castain
11faab1091 The final step of the RFC: convert the <foo>libdir and friends to fit their respective code areas, and equate them all at the top. Note that we can't entirely separate things as the opal_install_dirs framework can't handle separated locations for the various trees.
This commit was SVN r31679.
2014-05-08 02:01:35 +00:00
Ralph Castain
a8e2d6c3a6 The bulk of the remaining renaming changes, in one final glorious "blob". Thanks to Jeff for some help chasing down a few spots. Per chat with Jeff, we decided to cleanup a few things that were historical in nature:
top_ompi_srcdir  ->  OMPI_TOP_SRCDIR
top_ompi_builddir -> OMPI_TOP_BUILDDIR

We also split the srcdir/builddir flags according to their local tree (e.g., OPAL_TOP_SRCDIR), and tied them all together in configure.ac. Renamed ompi_ignore and ompi_unignore to be opal_<foo> as these are agnostic markers.

Only thing left is ompilibdir being treated similar to what we dif for srcdir/builddir. Coming soon.

This commit was SVN r31678.
2014-05-07 21:48:53 +00:00
Ralph Castain
2dbeb671d0 Fix typo impacting assembly support that came in during renaming
This commit was SVN r31676.
2014-05-07 16:22:11 +00:00
Ralph Castain
70ebf2efea One more level of subsubsubsubsubtitle...
This commit was SVN r31675.
2014-05-07 15:51:20 +00:00
Ralph Castain
74983c9002 Continue the renaming, fix ompi_show_subsubtitle
This commit was SVN r31674.
2014-05-07 15:45:47 +00:00
Ralph Castain
c6d2ff368d Per RFC, continue with renaming
This commit was SVN r31671.
2014-05-07 04:51:45 +00:00
Ralph Castain
a2bf976029 Per RFC, another round of changes
This commit was SVN r31669.
2014-05-07 03:16:59 +00:00
Ralph Castain
f4c31cae9b Per RFC, another round in the renaming game - nearly complete
This commit was SVN r31668.
2014-05-07 03:01:47 +00:00
Ralph Castain
a54dbb17d2 Per RFC, continue renaming project
This commit was SVN r31667.
2014-05-07 01:00:06 +00:00
Ralph Castain
4501285c26 Per RFC, continue the naming conversion
This commit was SVN r31665.
2014-05-06 23:34:33 +00:00
Ralph Castain
839c0eb55c Per RFC, continue the renaming effort
This commit was SVN r31664.
2014-05-06 21:16:29 +00:00
Ralph Castain
fdfb331e13 Per RFC, continue the renaming process
This commit was SVN r31663.
2014-05-06 20:53:55 +00:00
Ralph Castain
883fce4cba Per RFC, continue the build system renaming
This commit was SVN r31662.
2014-05-06 20:30:37 +00:00
Ralph Castain
8a0d6b4aa6 Per RFC, continue the joyous fun of the renaming exercise
This commit was SVN r31661.
2014-05-06 20:13:37 +00:00
Ralph Castain
bdf9aace69 Per RFC, continue with build system renaming
This commit was SVN r31658.
2014-05-06 19:37:10 +00:00
Ralph Castain
4f4d9dcd28 Per RFC, continue with build system renaming
This commit was SVN r31657.
2014-05-06 19:22:27 +00:00
Ralph Castain
deb0c6bb9a Per RFC, continue cleanup with minor changes to one file
This commit was SVN r31656.
2014-05-06 18:37:52 +00:00
Ralph Castain
3fd7cee70c Per RFC, continue cleanup with minor change to one file
This commit was SVN r31655.
2014-05-06 18:30:55 +00:00
Ralph Castain
9b88ec7cde Per RFC, continue cleaning up the build system
OMPI_C_WEAK_SYMBOLS  ->  OPAL_C_WEAK_SYMBOLS
  ompi_cv_c_weak_symbols  ->  opal_cv_c_weak_symbols

This commit was SVN r31654.
2014-05-06 18:03:08 +00:00
Jeff Squyres
9d19dec80a [ompi|opal]_setup_cxx.m4: ensure to use the C++ compiler (!)
We didn't AC_LANG_PUSH(C++) before checking to see if the compiler
supports -finline-functions, meaning that configure used the C
compiler for these checkes, not the C++ compiler.

Due to #2999, we have to fix both opal_setup_cxx.m4 and
ompi_setup_cxx.m4.

cmr=v1.8.2:reviewer=rolfv

This commit was SVN r31651.
2014-05-06 17:42:51 +00:00
Ralph Castain
ab83b9425a Complete the cleanup of this file
This commit was SVN r31650.
2014-05-06 16:57:34 +00:00
Ralph Castain
aaf2969e9b Fix comment and add copyright
This commit was SVN r31649.
2014-05-06 16:51:30 +00:00
Ralph Castain
002cd34013 Per RFC, continue the build system renaming
OMPI_C_GET_ALIGNMENT  -> OPAL_C_GET_ALIGNMENT
   ompi_cv_c_align_  ->  opal_cv_c_align_

This commit was SVN r31648.
2014-05-06 16:50:27 +00:00
Ralph Castain
2b7a3ae601 Per RFC, continue pecking away at the build system renaming
OMPI_CONFIG_SUBDIR  -> OPAL_CONFIG_SUBDIR
   OMPI_CONFIG_SUBDIR_ARGS  ->  OPAL_CONFIG_SUBDIR_ARGS

This commit was SVN r31647.
2014-05-06 16:27:38 +00:00
Ralph Castain
390d29733f Per RFC, continue renaming of build tools:
ompi_c_vendor  ->  opal_c_vendor
ompi_cv_c_compiler_vendor  ->  opal_cv_c_compiler_vendor

This commit was SVN r31646.
2014-05-06 15:01:34 +00:00
Ralph Castain
f60aadd989 Sigh - forgot to change name in Makefile.am
This commit was SVN r31645.
2014-05-06 14:35:14 +00:00
Ralph Castain
9d320c55dd Missed one file to be renamed
This commit was SVN r31642.
2014-05-06 03:47:18 +00:00
Ralph Castain
fdd35f301a Per RFC, next major step in cleaning up the build system naming patterns: rename files containing things used by the OPAL layer to be opal_foo.m4 instead of ompi_foo.m4. The ALPS plm is currently checking UGNI, so shift the check_ugni.m4 to orte for now.
This commit was SVN r31641.
2014-05-06 03:20:16 +00:00
Ralph Castain
29609577d5 Per RFC:
ompi_show_title  -> opal_show_title
    ompi_show_subtitle -> opal_show_subtitle

This commit was SVN r31638.
2014-05-05 22:35:23 +00:00
Ralph Castain
a1ae20fddb Per RFC: OMPI_CFLAGS_BEFORE_PICKY -> OPAL_CFLAGS_BEFORE_PICKY
- This line, and those below, will be ignored--

M    opal/mca/event/libevent2021/configure.m4
M    opal/mca/hwloc/hwloc172/configure.m4
M    configure.ac
M    config/opal_setup_libltdl.m4
M    config/opal_check_visibility.m4
M    config/opal_setup_cc.m4

This commit was SVN r31637.
2014-05-05 22:22:33 +00:00
Ralph Castain
425d4b9e81 Per RFC: OMPI_ENSURE_CONTAINS_OPTFLAGS -> OPAL_ENSURE_CONTAINS_OPTFLAGS
This commit was SVN r31636.
2014-05-05 22:02:39 +00:00
Ralph Castain
4def94900a Per RFC: OMPI_INSTALL_BINARIES -> OPAL_INSTALL_BINARIES
This commit was SVN r31634.
2014-05-05 21:43:05 +00:00
Jeff Squyres
08cf16e14f ompi_setup_mpi_fortran.m4: disable mpi_f08 if PROCEDURE isn't supported
Per https://svn.open-mpi.org/trac/ompi/ticket/4590, if the Fortran
compiler doesn't support PROCEDURE in the way we want/need, disable
the mpi_f08 module.

Refs trac:4590

This commit was SVN r31587.

The following Trac tickets were found above:
  Ticket 4590 --> https://svn.open-mpi.org/trac/ompi/ticket/4590
2014-05-01 18:17:52 +00:00
Ralph Castain
e20dae536c Last step under current RFC: OMPI_CHECK_WITHDIR -> OPAL_CHECK_WITHDIR
This commit was SVN r31585.
2014-05-01 15:38:07 +00:00
Ralph Castain
2749231eb5 Next step in RFC: OMPI_CHECK_COMPILER_WORKS -> OPAL_CHECK_COMPILER_WORKS
This commit was SVN r31584.
2014-05-01 15:25:47 +00:00
Ralph Castain
e11eb15518 Next step of RFC: OMPI_CHECK_FUNC_LIB -> OPAL_CHECK_FUNC_LIB
This commit was SVN r31583.
2014-05-01 14:57:43 +00:00
Ralph Castain
3b64c603b4 First stage of RFC to rename OMPI_foo build system support: change OMPI_CHECK_PACKAGE -> OPAL_CHECK_PACKAGE
This commit was SVN r31582.
2014-05-01 14:24:56 +00:00
Mike Dubman
0cba0b95b8 OSHMEM: fortran profiling API added
for spec compliance 

fixed by Roman, reviewed by Igor/Miked

cmr=v1.8.2:reviewer=ompi-rm1.8

This commit was SVN r31510.
2014-04-23 18:56:37 +00:00
Jeff Squyres
69bb758bca ompi_config_pthreads.m4: fix to compile with Clang 3.4
Clang 3.4 static analysis is now smart enough that it refuses to
compile our POSIX threading tests because we simply passed 0 for
several arguments (the test is checking for the linker presence of
symbols, so the NULL arguments didn't matter).  Specifically, Clang's
anti-NULL compile-time checks now refuse to compile this bogus code.
Hence, these 2 configure test codes now have real variables and
pointers so that clang will compile it properly.

Without this fix, configure determines that there is no POSIX
threading support, and the osc/sm component fails to compile (which is
a different defect I'll be filing shortly).  As such, we need this fix
in 1.8.1.

Also, change from the deprecated AC_TRY_LINK to AC_LINK_IFELSE.

cmr=v1.8.1:reviewer=dgoodell

This commit was SVN r31458.
2014-04-19 13:13:06 +00:00
Nathan Hjelm
99812c8c07 Improve support for Cray's CLE 5
cmr=v1.8.1

This commit was SVN r31426.
2014-04-18 17:49:16 +00:00
Ralph Castain
0f02ba21df Remove --enable-sensors configuration option
This commit was SVN r31404.
2014-04-15 21:58:29 +00:00
Ryan Grant
6d577a2663 Update to atomics selection, fix octal issue and rename defines
This commit was SVN r31396.
2014-04-15 15:40:30 +00:00
Ryan Grant
e67ca81dca Fixing atomics selection issue, to be CMR'd after it passes the nightly tests
This commit was SVN r31393.
2014-04-15 13:17:04 +00:00
Jeff Squyres
d2d28710ba fortran: Remove the gfortran-4.9-disabling configry
The bug in #4157 has now been fixed, so remove the configure test that
disabled mpi_f08 functionality for gfortran 4.9.

Fixes trac:4157

cmr=v1.8.1:ticket=trac:4512

This commit was SVN r31373.

The following Trac tickets were found above:
  Ticket 4157 --> https://svn.open-mpi.org/trac/ompi/ticket/4157
  Ticket 4512 --> https://svn.open-mpi.org/trac/ompi/ticket/4512
2014-04-11 21:04:04 +00:00
Mike Dubman
b20de8ae34 OSHMEM: add support for profiling API
use weak symbols, based on http://www.open-mpi.org/community/lists/devel/2014/03/14429.php
fixed by Roman, reviewed by Igor/Miked

cmr=v1.8.1:reviewer=ompi-rm1.8

This commit was SVN r31330.
2014-04-07 22:55:21 +00:00
Jeff Squyres
50a705f247 Fix #4465: spall Quadrics correctly.
Many thanks to Jeff Hammond for noticing.

cmr=v1.8:reviewer=ompi-rm1.8

This commit was SVN r31256.
2014-03-27 17:52:43 +00:00
Ralph Castain
08fd24f452 Ensure we properly check for sockaddr_in before checking for tcp
This commit was SVN r31166.
2014-03-20 00:17:29 +00:00
Jeff Squyres
412364d66e Change "test ==" to "test =" to be more portable.
This commit was SVN r31159.
2014-03-19 21:38:01 +00:00
Ralph Castain
17d618abd2 As per the thread on ticket #4399, OSHMEM does not support non-Linux platforms. So provide a check for Linux and error out if --enable-oshmem is given on a non-supported platform. If no OSHMEM option is given (enable or disable), then don't attempt to build OSHMEM unless we are on a Linux platform. Default to building if we are on Linux for now, pending the outcome of the Debian situation.
cmr=v1.7.5:reviewer=jsquyres:subject=disable OSHMEM on non-Linux platforms

This commit was SVN r31155.
2014-03-19 20:32:15 +00:00
Ralph Castain
f259d50ed7 Fully fix the PMI2 warning - turned out to be larger than originally thought due to the way the function was being handled across multiple files. Properly resolve the problem by not compiling the file if PMI2 is not desired, and then appropriately setting the visibility of the function within the module
Refs trac:4400

This commit was SVN r31084.

The following Trac tickets were found above:
  Ticket 4400 --> https://svn.open-mpi.org/trac/ompi/ticket/4400
2014-03-17 17:36:37 +00:00
Jeff Squyres
616e62bb9e Fix --enable|disable-oshmem configure switch
* Fixed the AC_ARG_ENABLE for the oshmem option.
* Fixed the AM_CONDITIONALs values for the projects.
* Re-added (and slightly simplified) the use of PROJECT_OSHMEM in
  various Makefile.am's to disable building OSHMEM stuff

Submitted by Jeff, reviewed and approved by Ralph.

cmr=v1.7.5:reviewer=ompi-gk1.7

This commit was SVN r31062.
2014-03-13 21:23:04 +00:00
Ralph Castain
9c66c4f439 Correctly implement --disable-oshmem and --without-orte so we don't build the disabled section of code. Fix a bunch of code rot in the PMI rte component, and add several missing headers when building --without-orte.
NOTE: I transferred the oshmem-disabled-by-default from the 1.7 branch to the trunk to minimize future disruption if/when we change that option.

cmr=v1.8:reviewer=jsquyres

This commit was SVN r31006.
2014-03-11 22:02:40 +00:00
Mike Dubman
a14dda491e OSHMEM: various fixes
- -check-shmem-params is OFF by default. It checks OSHMEM API params and will abort on bad input
- hcoll do not save fallback coll pointers for unsupported collectives.

fixed by Val, Roman, reviewed by Miked/Igor

cmr=v1.7.5:reviewer=ompi-rm1.7

This commit was SVN r30995.
2014-03-11 17:27:33 +00:00
Ralph Castain
96f67507a5 Improve/expand the database configure logic for future use
This commit was SVN r30984.
2014-03-11 03:01:15 +00:00
Mike Dubman
a1044dd517 OSHMEM: fix fortran selection logic
based on offline discussion and agreement with Jeff

fixed by Roman, reviewed by Igor/Mike
cmr=v1.7.5:reviewer=ompi-rm1.7

This commit was SVN r30952.
2014-03-06 11:22:30 +00:00
Nathan Hjelm
9e92c5be53 osc/sm: check for pthread_condattr_setpshared and pthread_mutexattr_setpshared. fall
back on barrier if either function doesn't exist.

cmr=v1.7.5:reviewer=jsquyres

This commit was SVN r30911.
2014-03-03 17:09:09 +00:00
Mike Dubman
33d363e65d OSHMEM: fix fortran binding
based on true story: http://www.open-mpi.org/community/lists/devel/2014/03/14262.php

fixed by Roman, reviewed by Igor/Mike

cmr=v1.7.5:reviewer=ompi-rm1.7

This commit was SVN r30906.
2014-03-03 09:58:11 +00:00
Vasily Filipov
f2014b96e7 OPENIB BTL/CONNECT: Add support for AF_IB addressing in rdmacm.
This commit was SVN r30875.
2014-02-27 11:29:47 +00:00
Dave Goodell
4875f48eaa usnic: enable UDP support
This commit decouples OMPI deployment from the version(s) of the lower
layers of the stack by probing for UDP support.

Verbs applications assume a 40-byte header (there is no current
mechanism for querying payload offset).  So to support a 42-byte UDP
header without causing existing applications like ibv_ud_pingpong or
older versions of OMPI to crash, we must inform libusnic_verbs that we
are aware of the nonstandard payload offset.  We do this by overriding
the `transport_type` field of the device to be 42 before calling
`ibv_open_device`.  If the library resets it to something else, then we
know the lower layers are UDP capable.  Otherwise we use the older
custom-L2 format.

This necessitated some minor ugliness in common_verbs, but it's as tidy
as Jeff and I know how to make it right now.

This commit only adds support for UDP headers and connectivity over the
same L2 network, it does not touch routing or interface pairing.

Reviewed-by: Jeff Squyres <jsquyres@cisco.com>

cmr=v1.7.5:ticket=trac:4253

This commit was SVN r30838.

The following Trac tickets were found above:
  Ticket 4253 --> https://svn.open-mpi.org/trac/ompi/ticket/4253
2014-02-26 07:44:35 +00:00
Jeff Squyres
d07d1864ae Revert r30804.
We're going to be bringing a bunch of usnic code to the SVN trunk
soon, and I basically brought this commit over out of order.  So I'm
reverting it for now; the same functionality will come back shortly.

This commit was SVN r30805.

The following SVN revision numbers were found above:
  r30804 --> open-mpi/ompi@5bedcc15bf
2014-02-24 19:12:49 +00:00
Jeff Squyres
5bedcc15bf Support the IBV_*_USNIC_* verbs constants.
These constants are now upstream (see
https://git.kernel.org/cgit/libs/infiniband/libibverbs.git/commit/?id=f57a9c67eabb9e7f19c624ac3c8c27b7be55796c),
so let's support them properly in Open MPI.

Added bonus: consolidating these checks up in
ompi_check_openfabrics.m4 allowed removing some custom checks and
AC_DEFINE's from the usnic configure.m4 script.

Also change the usnic/configure.m4 check for IBV_EVENT_GID_CHANGE to
use AC_CHECK_DECLS (vs. AC_CHECK_DECL).

cmr=v1.7.5:reviewer=dgoodell

This commit was SVN r30804.
2014-02-24 18:57:04 +00:00
Jeff Squyres
d35019ba19 Add file that was forgotten in r30776. Refs trac:4205.
This commit was SVN r30780.

The following SVN revision numbers were found above:
  r30776 --> open-mpi/ompi@bda840df49

The following Trac tickets were found above:
  Ticket 4205 --> https://svn.open-mpi.org/trac/ompi/ticket/4205
2014-02-20 11:32:57 +00:00
Jeff Squyres
bda840df49 Fixes trac:4205: ensure sizeof(MPI_Count) <= sizeof(size_t)
- Move the ptrdiff_t tests up higher in configure.ac to be with the
  rest of the type tests.
- Create new OMPI_FIND_MPI_AINT_COUNT_OFFSET for finding the
  corresponding types of MPI_Aint, MPI_Count, and MPI_Offset.
  Consolidate all the old C and Fortran tests into this new macro (and
  .m4 file).
- Fix Fortran MPI_*_KIND tests that incorrectly keyed off assumed
  types (e.g., int64_t) rather than whatever the corresponding C
  MPI_Aint, MPI_Count, MPI_Offset types turned out to be.
- Add new logic to ensure that sizeof(MPI_Count) <= sizeof(size_t),
  because our entire PML, BTL, and convertor infrastructure requires
  this.  As a side effect, just like MPI_Offset the same type of
  MPI_Count (because MPI_Count has to be able to hold an MPI_Offset,
  so we can't let MPI_Offset be larger than a MPI_Count).

This commit was SVN r30776.

The following Trac tickets were found above:
  Ticket 4205 --> https://svn.open-mpi.org/trac/ompi/ticket/4205
2014-02-19 23:04:34 +00:00
Ralph Castain
7576d5964a Remove c++ cruft from configure
Refs trac:4247

This commit was SVN r30655.

The following Trac tickets were found above:
  Ticket 4247 --> https://svn.open-mpi.org/trac/ompi/ticket/4247
2014-02-10 19:23:39 +00:00
Ralph Castain
8d04d7408e Sigh - remove the c++ cruft from here too
Refs trac:4247

This commit was SVN r30654.

The following Trac tickets were found above:
  Ticket 4247 --> https://svn.open-mpi.org/trac/ompi/ticket/4247
2014-02-10 17:32:02 +00:00
George Bosilca
32a494e73b When CXX support is disabled don't check if coverage is supported. The
problem is that ompi_cxx_vendor is only defined when MPI CXX support
is enabled.

This commit was SVN r30599.
2014-02-06 21:40:26 +00:00
Nathan Hjelm
4248cb1d9c Fix typo and portability issue in r30555
cmr=v1.7.4:ticket=trac:4223

This commit was SVN r30559.

The following SVN revision numbers were found above:
  r30555 --> open-mpi/ompi@5c35b5ba19

The following Trac tickets were found above:
  Ticket 4223 --> https://svn.open-mpi.org/trac/ompi/ticket/4223
2014-02-04 20:15:32 +00:00
Nathan Hjelm
5c35b5ba19 Fix wrapper ldflags.
cmr=v1.7.4:reviewer=jsquyres

This commit was SVN r30555.
2014-02-04 19:44:08 +00:00
Mike Dubman
3d8c06d1b4 fix min.supported version for mxm check
reviewed by Alex
cmr=v1.7.5:reviewer=ompi-rm1.7

This commit was SVN r30553.
2014-02-04 14:45:47 +00:00
Ralph Castain
fab35dbffa Silence some Solaris warnings reported by Paul Hargrove
cmr=v1.7.4:reviewer=jsquyres:subject=Silence some Solaris warnings

This commit was SVN r30542.
2014-02-03 19:46:08 +00:00
Mike Dubman
7e5031374e OSHMEM: Apply Jeff`s comments to fortran configure logic
Refs trac:3763

This commit was SVN r30530.

The following Trac tickets were found above:
  Ticket 3763 --> https://svn.open-mpi.org/trac/ompi/ticket/3763
2014-02-03 09:47:56 +00:00
Jeff Squyres
87651a1e18 Ensure configure test compiler turds are removed.
This particular test can leave various <foo>.mod files in the OMPI top
build dir, which leads developers to say "what are these .mod files in
my 'svn status' output?".

So make a subdir, run the tests in there, and then remove the subdir.

Reviewed by Dave Goodell.

This is not 100% necessary for OMPI 1.7.4, but it would be nice.  The
goal is to have this test removed by OMPI 1.7.5 (i.e., fix ticket
4157).  So I leave it up to the RM to decide whether this goes into
1.7.4 or not.

cmr=v1.7.4:reviewer=ompi-rm1.7

This commit was SVN r30524.
2014-01-31 16:45:29 +00:00
Jeff Squyres
caaab7e8a3 Fix Fortran delcarations of MPI_SUBARRAYS_SUPPORTED and MPI_ASYNC_PROTECTES_NONBLOCKING
Ensure that these two flags are in all of mpif.h, the mpi module, and
the mpi_f08 module.  Thanks to Rolf Rabenseifner for pointing out the
issue.

cmr=v1.7.4:reviewer=ompi-rm1.7

This commit was SVN r30519.
2014-01-31 15:22:12 +00:00
Brian Barrett
8ab8940e45 Clean up error message about Sparc v8/v8+, since the README now has better
information and the cases are getting too long for an AC_MSG_WARN.

This commit was SVN r30503.
2014-01-30 17:51:13 +00:00
Ralph Castain
edc760434c My bad - do not include any references to "orcm" in configure.ac. However, do properly set the AM_CONDITIONALs based on projects being enabled/disabled
This commit was SVN r30501.
2014-01-30 16:44:57 +00:00
Ralph Castain
b84b8a2d52 Going to need these files to support change to configure.ac
This commit was SVN r30499.
2014-01-30 11:36:44 +00:00
Nathan Hjelm
700e97cf6a btl/vader: add support for SGI's implementation of xpmem and add support
for 32-bit architectures.

This commit also modifies _OMPI_CHECK_HEADER to use AC_CHECK_HEADERS instead
of AC_CHECK_HEADER. This allows components to check for multiple headers
instead of just one. The new semantics of the header check in OMPI_CHECK_PACKAGE
are to return success if at least one of the specified headers exists. The new
semantics will not break current usage.

cmr=v1.7.5:ticket=trac:4053

This commit was SVN r30476.

The following Trac tickets were found above:
  Ticket 4053 --> https://svn.open-mpi.org/trac/ompi/ticket/4053
2014-01-29 18:35:47 +00:00
Jeff Squyres
6adc16081a Add a configure test that mimics what OMPI's current mpi_f08
implementation does (that is not quite adherant to the Fortran
standard).  If a compiler allows this behavior, build the mpi_f08
wrapper.  For example, ifort allows it, but Pathscale/EKOPath 5.0 is
stricter in its Fortran compliance and disallows it.

This test is temporary; the real fix is to make OMPI adhere to Fortran
properly (i.e., see #4157).  Once we fix #4157, this test should be
removed.  The main reason for committing this test is to put it into
v1.7.4 so that we can release, but with the intent to remove it by
1.7.5 (or 1.8.x at the latest!).

Refs trac:4157

cmr=v1.7.4:reviewer=ompi-rm1.7:subject=Add mpi_f08-(non)compliance configure test

This commit was SVN r30440.

The following Trac tickets were found above:
  Ticket 4157 --> https://svn.open-mpi.org/trac/ompi/ticket/4157
2014-01-27 23:37:42 +00:00
Ralph Castain
af4a9a0688 Make clear that --with-pmi can/should be used to specify the path to the pmi installation since at least one person didn't realize it.
cmr=v1.7.4:reviewer=jsquyres

This commit was SVN r30439.
2014-01-27 22:50:37 +00:00