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

599 Коммитов

Автор SHA1 Сообщение Дата
Gilles Gouaillardet
8cc3f288c9 opal: fix opal_class_finalize() usage
the class system can be initialized/finalized as many times as we like,
so there is no more need to have opal_class_finalize() invoked in a destructor

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2016-10-26 15:15:54 +09:00
Gilles Gouaillardet
f2a80dc09f configury: check libnl version and abort in case of conflict
libnl and libnl-3 are known to conflict with each other, so detect
and abort if these two libs are both used directly (e.g. Open MPI
uses libnl-3) or indirectly (e.g. libibverbs.so might depend on libnl)
2016-10-25 09:23:59 +09:00
Joshua Hursey
f6f24a4f67 build: Custom libmpi(_FOO) name option in configure
* Add a configure time option to rename libmpi(_FOO).*
   - `--with-libmpi-name=STRING`
 * This commit only impacts the installed libraries.
   Internal, temporary libraries have not been renamed to limit the
   scope of the patch to only what is needed.

For example:
```shell
shell$ ./configure --with-libmpi-name=wookie
...
shell$ find . -name "libmpi*"
shell$ find . -name "libwookie*"
./lib/libwookie.so.0.0.0
./lib/libwookie.so.0
./lib/libwookie.so
./lib/libwookie.la
./lib/libwookie_mpifh.so.0.0.0
./lib/libwookie_mpifh.so.0
./lib/libwookie_mpifh.so
./lib/libwookie_mpifh.la
./lib/libwookie_usempi.so.0.0.0
./lib/libwookie_usempi.so.0
./lib/libwookie_usempi.so
./lib/libwookie_usempi.la
shell$
```
2016-09-29 21:47:24 -05:00
Gilles Gouaillardet
d445abe506 configury: fix <net/if.h> detection
only invoke AC_CHECK_HEADERS([net/if.h]) once and with the required prerequisites

Thanks Paul Hargrove for the report and diagnostic
2016-09-23 11:19:47 +09:00
Joshua Hursey
b8dfd9a92b libompitrace: Use VERSION file to set .so version 2016-09-12 18:02:06 -04:00
Ralph Castain
af67f16422 Update configury to support multiple PMIx versions, rename pmix2x component to pmix3x for support of PMIx master
Update support for external v1.1.x and v2.x libraries. Minor corrections to the v3.x component
2016-08-25 18:19:05 -07:00
Edgar Gabriel
160d9a78c1 Merge pull request #1886 from edgargabriel/pr/ompio-reorg
io/ompio: move io/ompio functionality to common/ompio
2016-07-29 12:24:21 -05:00
Gilles Gouaillardet
273e56096b configury: capture configury command line
configury command line is quoted and made available via the OPAL_CONFIGURE_CLI macro.
it can be retrieved via {orte-info,ompi_info,oshmem_info} -c, or
{orte-info,ompi_info,oshmem_info} --all --parseable | grep ^config:cli:
2016-07-29 09:14:09 +09:00
Edgar Gabriel
688710d408 make common/ompio compile 2016-07-21 13:08:32 -05:00
Nathan Hjelm
7018aeda2b opal/memory: disable __malloc_initialize_hook if poisoned
Newer versions of gcc have "poisoned" the __malloc_initialize_hook
name and it can no longer be used. Added a configure check and
protection around its usage.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-06-15 12:00:49 -06:00
Gilles Gouaillardet
fd93d236b1 opal/util/ethtool: fix compilation on older Linux when struct ethtool_cmd has no speed_hi field
Refs: open-mpi/ompi#1628
2016-05-19 11:58:04 +09:00
Karol Mroz
8f34329efe configure: add ethtool and related checks
Signed-off-by: Karol Mroz <mroz.karol@gmail.com>
2016-05-05 11:14:06 +02:00
Nathan Hjelm
ae0ffbb67f Merge pull request #1397 from hjelmn/enable_thread_multiple
ompi: always enable MPI_THREAD_MULTIPLE support
2016-04-23 08:40:22 -06:00
Jeff Squyres
6800ef9ec0 m4: rename OMPI_SUMMARY_* macros to OPAL_SUMMARY_*
These macros should really be named OPAL_SUMMARY_*; they're used in
all projects, and therefore should be in the lowest later project (OPAL).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2016-04-20 08:40:00 -07:00
Nathan Hjelm
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