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

587 Коммитов

Автор SHA1 Сообщение Дата
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
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
Gilles Gouaillardet
1e26f9cda4 test/dss: update tests to make them usable again, and run them 2016-02-17 11:27:00 +09:00
Jeff Squyres
53ca721ff4 configury: clean up .so version numbers
Move .so version numbers to their appropriate project in the top-level
VERSION file.  Also add the project name to all .so version number
names.  Remove no-longer-used .so names.
2015-12-18 12:50:23 -05:00
rhc54
04fc4060db Merge pull request #1143 from rhc54/topic/noompi
Fix "autogen.pl --no-ompi"
2015-12-07 00:40:16 -08:00
Ralph Castain
e33515c87c Fix "autogen.pl --no-ompi", which was broken due to inclusion of a conditional in the test/monitoring Makefile.am that is only defined if OMPI is built.
Per suggestion from @bosilca, comment out generation of the shared library

Use the patch from Gilles instead
2015-12-06 21:10:17 -08: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
George Bosilca
a47d69202f Add a monitoring PML. This PML track all data exchanges by the processes
counting or not the collective traffic as a separate entity. The need
for such a PML is simply because the PMPI interface doesn't allow us to
identify the collective generated traffic.
2015-10-31 17:13:35 -04:00
Jeff Squyres
ea3299dc85 configure.ac: remove unintented variable reset
WANT_MPI_CXX_SUPPORT is set in ompi_configure_options.m4 and should
not be reset in configure.ac.
2015-10-28 08:23:21 -07:00
Jeff Squyres
d44eb8a024 configury: fix autogen.pl --no-ompi
The Makefile.ompi-rules trim options previously used AM_CONDITIONALs
that were defined only when the OMPI project was configured.  Hence,
if you ran "autogen.pl --no-ompi", autogen would fail with lots of
messages about undefined AM_CONDITIONALs.

This commit makes new AM_CONDITIONALs outside of the project
configuration that can be safely used elsewhere.
2015-10-26 14:28:51 -07: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
Ralph Castain
005248bb4e When building --no-ompi, we don't run setup_cxx and hence sizeof_bool never gets set. So set it in configure.ac so everyone always has it
Check for sizeof(_Bool) so we don't need the C++ compiler
2015-06-29 15:23:12 -05:00
Nathan Hjelm
ee36d813dc Merge pull request #657 from hjelmn/c99
more c99 updates
2015-06-25 11:21:09 -06:00
Nathan Hjelm
4d92c9989e more c99 updates
This commit does two things. It removes checks for C99 required
headers (stdlib.h, string.h, signal.h, etc). Additionally it removes
definitions for required C99 types (intptr_t, int64_t, int32_t, etc).

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-06-25 10:14:13 -06:00
Ralph Castain
57b7c44aec Cleanup the rest of the no-longer-required bool configury 2015-06-24 08:25:49 -07:00
Gilles Gouaillardet
c4ebdba035 always align words if heterogeneous support is enabled 2015-05-14 15:54:21 +09:00
Gilles Gouaillardet
dd572a0838 Fix --with-fortran=... logic 2015-05-08 09:23:55 +09:00
Jeff Squyres
4b8fa24682 configure.ac: fix the flex error message
Per Paul Hargrove's email
(http://www.open-mpi.org/community/lists/devel/2015/04/17310.php),
there were a few typos in the message displayed when flex is not
found.  Additionally, somehow it didn't show the list of *.l files on
his system.  This is not a super-important message -- so just take
that "find" out (and force developers to install flex).
2015-04-22 16:59:59 -04:00
Nathan Hjelm
df90228676 Fix OSX configury
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-04-20 15:06:23 -06:00
Nathan Hjelm
662460b06b Modify destructor function configury
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-04-20 09:51:06 -06:00
Nathan Hjelm
38589c46c0 opal: add a destructor/fini function to opal
This commit is related to an RFC from June 2014. Disscussion can be
found at:

http://www.open-mpi.org/community/lists/devel/2014/07/15140.php

The finalize function is set using either the linker option -fini or
__attribute__((destructor)) depending on compiler support. I have
confirmed that this hybrid approach works with all the major
compilers. The attribute is supported by gcc, clang, llvm, xlc, and
icc. The fini function will support pgi. If a compiler/linker
combination does not support either the destructor or fini function a
message will be printed on re-init indicating it is not supported (an
improvement over the current behavior-- SEGV).

I moved the following to the destructor function:

 - Class system finalize. This solves a bug when MPI_T_finalize is
   called before MPI_Init. The only downside to this change is we will
   leave the footprint of the opal class system after
   MPI_Finalize. This footprint should be relatively small.

This is an alternative to #517 but the two PRs are not
mutually-exclusive (with some modifications). This commit should also
be safe for 1.8.x as it does not change internal or external ABI (#517
changes internal ABI).

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-04-16 19:53:52 -06:00
Jeff Squyres
1029dea72b configure.ac: don't call AC_C_INLINE or AC_C_RESTRICT
OMPI *requires* a C99 compiler, so we don't need the AC_C_INLINE or
AC_C_RESTRICT tests anymore (because the C99 compiler guarantees to
support them).  Indeed, in some cases (see open-mpi/ompi#491),
AC_C_INLINE gets the wrong answer and defines `inline` to be empty,
which screws up some systems (e.g., OS X with clang).

As an added bonus, we get to get rid of a bunch of gcc 2.96-specific
code (!) in configure.ac.
2015-04-13 17:17:24 -04: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
d3699fe50e configure.ac: remove some dead code
These variables are not used anywhere, and the comment was out of date.
2015-02-24 13:15:10 -08:00
Jeff Squyres
c368699bde configury: whitespace cleanup
No code changes.
2015-02-09 20:49:04 -08:00
Gilles Gouaillardet
54a4eaa516 configure.ac: portability fixes
convert "test ... -o" to "test ... ||"
convert "test ... -a" to "test ... &&"
2015-02-03 15:45:03 +09:00
Jeff Squyres
b937db49b4 configure.ac: s/don't/do not/
Trivial change to an output message, just so that github and emacs
syntax hilighting does not get confused (and think that the ' in don't
is an unterminated single quote).
2015-01-30 14:20:23 -08:00
Jeff Squyres
85a92a56c9 configure: arrgh; mistakenly removed the alps version number
The alps component still exists; it shouldn't have been removed by
open-mpi/ompi@6c468b8691.
2014-12-17 13:41:32 -08:00
Jeff Squyres
6c468b8691 configury: remove unused shared library version numbers
These components do not exist any more, so remove their shared library
version numbers.
2014-12-17 13:36:01 -08:00
Jeff Squyres
f1a5d3a90d configury: propagate a libtool shared lib version for libfabric 2014-12-17 13:36:01 -08:00
Mike Dubman
42f3fa0d1e OPAL: add support for autofs magic type 2014-12-13 20:27:47 +02: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
Jeff Squyres
8880b070b8 Merge pull request #295 from jsquyres/topic/bosilca-accurate-timers
Topic/bosilca accurate timers
2014-12-03 19:46:14 -05:00
Howard Pritchard
e0487e7702 orte/common/alps: add an alps common lib to orte
Add an alps common lib to orte.  Add a function
to determine whether or not a process is in a
PAGG container.

Note: we need a better naming convention for
common libs, since right now they use a "flat"
naming convention.
2014-12-03 09:44:17 -07:00
George Bosilca
a35d2b9fb5 Update copyrights and mark ia32 timers as non-monotonic. 2014-12-01 14:03:54 -08:00
George Bosilca
00300f464d Add support for clock_gettime on Linux. Allow the user to
request a monotonic timer via MCA parameters.
2014-12-01 14:03:40 -08:00
Gilles Gouaillardet
4de7021acc configury: fix a typo 2014-11-14 13:39:41 +09:00
Ralph Castain
907b4606c5 Check for the presence of setenv. If it is present, then use it in opal_setenv when setting values in the environ 2014-11-04 16:11:54 -08:00
Ralph Castain
0001e51ce4 Remove test where Jeff set the prefix to something non-empty 2014-10-28 17:34:17 -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
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
Jeff Squyres
01fd96bfa5 Revert "Provide a mechanism by which an upstream project can rename
the OPAL and ORTE libraries. This is required by projects such as ORCM
that have their own ORTE and OPAL libraries in order to avoid library
confusion. By renaming their version of the libraries, the OMPI
applications can correctly dynamically load the correct one for their
build."

This reverts commit 63f619f871.
2014-10-22 10:32:11 -07:00
Ralph Castain
63f619f871 Provide a mechanism by which an upstream project can rename the OPAL and ORTE libraries. This is required by projects such as ORCM that have their own ORTE and OPAL libraries in order to avoid library confusion. By renaming their version of the libraries, the OMPI applications can correctly dynamically load the correct one for their build. 2014-10-10 11:39:08 -07: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
f21c349bcb configure.ac: fix some broken AM_CONDITIONALs
These AM_CONDITIONALs forgot to include the "test" executable,
resulting in output like this:

```
./configure: line 8718: no: command not found
```
2014-10-02 04:07:36 -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