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

947 Коммитов

Автор SHA1 Сообщение Дата
Mike Dubman
08efe5a338 Adopting shmem configure logic to trunk build system conventions
fixed by Dinar, reviewed by miked
cmr=v1.7.4:reviewer=ompi-rm1.7

This commit was SVN r29328.
2013-10-02 06:59:09 +00:00
Jeff Squyres
7941c81caa The TargetConditionals.h check is specific to Java -- move it to
ompi_setup_java.m4.

This commit was SVN r29261.
2013-09-26 21:34:00 +00:00
Rolf vandeVaart
d67e3077f5 Add a check for the CUDA 6.0 version of the cuda.h header file.
This commit was SVN r29250.
2013-09-26 12:46:06 +00:00
Jeff Squyres
df7654e8cf 1. Per my previous email
(http://www.open-mpi.org/community/lists/devel/2013/09/12889.php), I
renamed all "f77" and "f90" directory/file names to "fortran"
(including removing shmemf77 / shmemf90 wrapper compilers and
replacing them with "shmemfort").

2. Fixed several Fortran coding errors.

3. Removed lots of old/stale comments that were clearly the result of
copying from the OMPI layer and then not cleaning up afterwards (i.e.,
the comments were wholly inaccurate in the oshmem layer).

4. Removed both redundant and harmful code from oshmem_config.h.in.

5. Temporarily slave building the oshmem Fortran bindings to
--enable-mpi-fortran.  This doesn't seem like a good long-term
solution, but at least you can now build all Fortran bindings (MPI +
oshmem) or not. *** SEE MY NOTE IN config/oshmem_configure_options.m4
FOR WORK THAT STILL NEEDS TO BE DONE!

This commit was SVN r29165.
2013-09-15 09:32:07 +00:00
Joshua Ladd
b3f88c4a1d Per the RFC schedule, this commit adds Mellanox OpenSHMEM to the trunk. It does not yet run on OSX or with CM PML for an MTL other than MXM. Mellanox is aware of these issues and is in the process of resolving them. This should be added to \ncmr=v1.7.4:subject=Move OSHMEM to 1.7.4:reviewer=rhc
This commit was SVN r29153.
2013-09-10 15:34:09 +00:00
Brian Barrett
16a1166884 Remove the proc_pml and proc_bml fields from ompi_proc_t and replace with a
configure-time dynamic allocation of flags.  The net result for platforms
which only support BTL-based communication is a reduction of 8*nprocs bytes
per process.  Platforms which support both MTLs and BTLs will not see
a space reduction, but will now be able to safely run both the MTL and BTL
side-by-side, which will prove useful.

This commit was SVN r29100.
2013-08-30 16:54:55 +00:00
Ralph Castain
a200e4f865 As per the RFC, bring in the ORTE async progress code and the rewrite of OOB:
*** THIS RFC INCLUDES A MINOR CHANGE TO THE MPI-RTE INTERFACE ***

Note: during the course of this work, it was necessary to completely separate the MPI and RTE progress engines. There were multiple places in the MPI layer where ORTE_WAIT_FOR_COMPLETION was being used. A new OMPI_WAIT_FOR_COMPLETION macro was created (defined in ompi/mca/rte/rte.h) that simply cycles across opal_progress until the provided flag becomes false. Places where the MPI layer blocked waiting for RTE to complete an event have been modified to use this macro.

***************************************************************************************

I am reissuing this RFC because of the time that has passed since its original release. Since its initial release and review, I have debugged it further to ensure it fully supports tests like loop_spawn. It therefore seems ready for merge back to the trunk. Given its prior review, I have set the timeout for one week.

The code is in  https://bitbucket.org/rhc/ompi-oob2


WHAT:    Rewrite of ORTE OOB

WHY:       Support asynchronous progress and a host of other features

WHEN:    Wed, August 21

SYNOPSIS:
The current OOB has served us well, but a number of limitations have been identified over the years. Specifically:

* it is only progressed when called via opal_progress, which can lead to hangs or recursive calls into libevent (which is not supported by that code)

* we've had issues when multiple NICs are available as the code doesn't "shift" messages between transports - thus, all nodes had to be available via the same TCP interface.

* the OOB "unloads" incoming opal_buffer_t objects during the transmission, thus preventing use of OBJ_RETAIN in the code when repeatedly sending the same message to multiple recipients

* there is no failover mechanism across NICs - if the selected NIC (or its attached switch) fails, we are forced to abort

* only one transport (i.e., component) can be "active"


The revised OOB resolves these problems:

* async progress is used for all application processes, with the progress thread blocking in the event library

* each available TCP NIC is supported by its own TCP module. The ability to asynchronously progress each module independently is provided, but not enabled by default (a runtime MCA parameter turns it "on")

* multi-address TCP NICs (e.g., a NIC with both an IPv4 and IPv6 address, or with virtual interfaces) are supported - reachability is determined by comparing the contact info for a peer against all addresses within the range covered by the address/mask pairs for the NIC.

* a message that arrives on one TCP NIC is automatically shifted to whatever NIC that is connected to the next "hop" if that peer cannot be reached by the incoming NIC. If no TCP module will reach the peer, then the OOB attempts to send the message via all other available components - if none can reach the peer, then an "error" is reported back to the RML, which then calls the errmgr for instructions.

* opal_buffer_t now conforms to standard object rules re OBJ_RETAIN as we no longer "unload" the incoming object

* NIC failure is reported to the TCP component, which then tries to resend the message across any other available TCP NIC. If that doesn't work, then the message is given back to the OOB base to try using other components. If all that fails, then the error is reported to the RML, which reports to the errmgr for instructions

* obviously from the above, multiple OOB components (e.g., TCP and UD) can be active in parallel

* the matching code has been moved to the RML (and out of the OOB/TCP component) so it is independent of transport

* routing is done by the individual OOB modules (as opposed to the RML). Thus, both routed and non-routed transports can simultaneously be active

* all blocking send/recv APIs have been removed. Everything operates asynchronously.


KNOWN LIMITATIONS:

* although provision is made for component failover as described above, the code for doing so has not been fully implemented yet. At the moment, if all connections for a given peer fail, the errmgr is notified of a "lost connection", which by default results in termination of the job if it was a lifeline

* the IPv6 code is present and compiles, but is not complete. Since the current IPv6 support in the OOB doesn't work anyway, I don't consider this a blocker

* routing is performed at the individual module level, yet the active routed component is selected on a global basis. We probably should update that to reflect that different transports may need/choose to route in different ways

* obviously, not every error path has been tested nor necessarily covered

* determining abnormal termination is more challenging than in the old code as we now potentially have multiple ways of connecting to a process. Ideally, we would declare "connection failed" when *all* transports can no longer reach the process, but that requires some additional (possibly complex) code. For now, the code replicates the old behavior only somewhat modified - i.e., if a module sees its connection fail, it checks to see if it is a lifeline. If so, it notifies the errmgr that the lifeline is lost - otherwise, it notifies the errmgr that a non-lifeline connection was lost.

* reachability is determined solely on the basis of a shared subnet address/mask - more sophisticated algorithms (e.g., the one used in the tcp btl) are required to handle routing via gateways

* the RML needs to assign sequence numbers to each message on a per-peer basis. The receiving RML will then deliver messages in order, thus preventing out-of-order messaging in the case where messages travel across different transports or a message needs to be redirected/resent due to failure of a NIC

This commit was SVN r29058.
2013-08-22 16:37:40 +00:00
Jeff Squyres
31283aaffd Revert r29049 because it is incorrectly overriding the results of an
AC config macro.

This commit was SVN r29050.

The following SVN revision numbers were found above:
  r29049 --> open-mpi/ompi@b82f89e78b
2013-08-20 01:21:41 +00:00
Steve Wise
b82f89e78b Define HAVE_IBV_LINK_LAYER_ETHERNET if it is supported in libibverbs.
Commit r27211 missed a config file change which broke ompi over
iwarp transports.  

This fixes trac:3726 and should be added to cmr:v1.7.3:reviewer=jsquyres

This commit was SVN r29049.

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

The following Trac tickets were found above:
  Ticket 3726 --> https://svn.open-mpi.org/trac/ompi/ticket/3726
2013-08-19 22:27:51 +00:00
Ralph Castain
e0cfcf376f Okay, fix it so it works both --disable-mpi-profile and --enable-mpi-profile. I'm not sure why mpit's library has to be treated differently, but it seems that it needs some special care to work in both scenarios
Refs trac:3725

This commit was SVN r29043.

The following Trac tickets were found above:
  Ticket 3725 --> https://svn.open-mpi.org/trac/ompi/ticket/3725
2013-08-19 14:48:23 +00:00
Ralph Castain
e6199da2e7 Fixes trac:3486 - prevent opal_check_pmi from bleeding CPPFLAGS
This commit was SVN r28940.

The following Trac tickets were found above:
  Ticket 3486 --> https://svn.open-mpi.org/trac/ompi/ticket/3486
2013-07-24 03:53:23 +00:00
Nathan Hjelm
c6e586a81d MPI-3: fortran support for large counts using derived datatypes
Jeff:
 - Make sure not to go over 72 characters.  Love Fortran!
 - Ensure to include 'mpif-config.h' in Type_size_x.

This commit was SVN r28933.
2013-07-23 15:36:03 +00:00
Rolf vandeVaart
49663fb802 Move CUDA-aware configurary to its own file and other minor changes due to review.
This commit was SVN r28832.
2013-07-17 22:12:29 +00:00
Nathan Hjelm
e6e9f2c6fd Add profiling function definitions for MPI_T and add a missing type into mpi.h
This commit was SVN r28803.
2013-07-16 16:03:33 +00:00
Ralph Castain
5f520e241b Ensure we get both -lpmi and -lpmi2 when the libs are separate
This commit was SVN r28795.
2013-07-16 14:57:18 +00:00
Ralph Castain
10ca1c1b04 Turns out that there was exactly ONE place in all of the OMPI code base that still referred to OPAL_TRACE, though a few places retained the include file for no reason. So no point in letting this sit as it is clearly an unused "feature".
This commit was SVN r28789.
2013-07-14 18:57:20 +00:00
Joshua Ladd
16beaa3878 This fixes the nasty configure.m4 hack that was added long ago and not removed. My fault for not catching earlier. I've also removed the '.ompi_ignore' in coll/hcoll. Throwing this to Nathan for review. Upon successful review, this should be added to cmr:v1.7:reviewer=hjelmn
This commit was SVN r28753.
2013-07-11 09:55:46 +00:00
Jeff Squyres
04da831f04 The gm BTL was removed in June of 2012; there's no need for
ompi_check_gm.m4 any more.

This commit was SVN r28744.
2013-07-09 20:57:12 +00:00
Brian Barrett
ecbbf888d3 * Update Portals 4 MTL's multi-md code to be a bit cleaner (no if statements
in the path) and not create MDs due to boundary crossing
* Add the same logic to the Coll component

This commit was SVN r28733.
2013-07-08 21:27:37 +00:00
Joshua Ladd
e2b53dcf10 Adding the ompi_check_libhcoll.m4 file
This commit was SVN r28695.
2013-07-01 22:45:36 +00:00
Ralph Castain
7331dd9534 Apparently, the alps configury has not been checked since we added the RTE abstraction code. Fix it now.
This commit was SVN r28673.
2013-06-26 07:03:54 +00:00
Ralph Castain
e8340b6339 There is no convention out there as to how OEMs handle PMI2 functions. Some put them in their own -lpmi2 library, and some don't. Some have split the PMI2 definitions into a pmi2.h and keep the PMI-1 definitions in a separate pmi.h, and some don't.
Try to handle cases more generally so at least Slurm and Cray can co-exist in peace.

This commit was SVN r28672.
2013-06-26 00:43:26 +00:00
Ralph Castain
fa943dc6ff Cleanup a few things in the revised PMI configury - we know slurm has both pmi and pmi2 libs, so just auto-detect the presence of them if the user directed us to build with pmi support.
Also cleanup some changed names in the alps code

This commit was SVN r28670.
2013-06-24 02:41:40 +00:00
Joshua Ladd
0b5c1f2ea8 Add 'generic' support for PMI2 (previously, we checked for PMI2 only on Cray systems.) If your resource manager (e.g. SLURM) has support for PMI2, then the --with-pmi configure flag will enable its usage. If you don't have PMI2, then you will fallback to regular old PMI1. This patch was submitted by Ralph Castain and reviewed and pushed by Josh Ladd. This should be added to cmr:v1.7:reviewer=jladd
This commit was SVN r28666.
2013-06-21 15:28:14 +00:00
Rolf vandeVaart
7771857991 Adjust how cuda.h is found. It can be found in the with-cuda dir now.
This commit was SVN r28555.
2013-05-22 22:04:46 +00:00
Jeff Squyres
4d9da92e60 Fixes trac:376: bu default the wrappr compilers will enable rpath support
in generated executables on systems that support it.  Use
--disable-wrapper-rpath to disable this behavior.  See text in
README about --disable-wrapper-rpath for more details.

This commit was SVN r28479.

The following Trac tickets were found above:
  Ticket 376 --> https://svn.open-mpi.org/trac/ompi/ticket/376
2013-05-11 00:49:17 +00:00
Ralph Castain
353c77e659 Re-enable udcm for test purposes - appears to be working, but needs broader exposure to MTT
This commit was SVN r28468.
2013-05-09 16:10:29 +00:00
Ralph Castain
12969cec81 Update orte_progress_threads configure option - no longer need to test for --enable-event-threads
This commit was SVN r28449.
2013-05-05 14:48:35 +00:00
Nathan Hjelm
809db8f6a9 Check for .git directory when checking for developer build
This commit was SVN r28149.
2013-03-06 17:47:27 +00:00
Rolf vandeVaart
ebe63118ac Remove dependency on libcuda.so when building in CUDA-aware support. Dynamically load it if needed.
This commit was SVN r28140.
2013-03-01 13:21:52 +00:00
Ralph Castain
a4b6fb241f Remove all remaining vestiges of the Windows integration
This commit was SVN r28137.
2013-02-28 17:31:47 +00:00
Ralph Castain
cf9796accd Remove the old configure option for disabling full rte support - we now use the OMPI rte framework for such purposes
This commit was SVN r28134.
2013-02-28 01:35:55 +00:00
Ralph Castain
bd9265c560 Per the meeting on moving the BTLs to OPAL, move the ORTE database "db" framework to OPAL so the relocated BTLs can access it. Because the data is indexed by process, this requires that we define a new "opal_identifier_t" that corresponds to the orte_process_name_t struct. In order to support multiple run-times, this is defined in opal/mca/db/db_types.h as a uint64_t without identifying the meaning of any part of that data.
A few changes were required to support this move:

1. the PMI component used to identify rte-related data (e.g., host name, bind level) and package them as a unit to reduce the number of PMI keys. This code was moved up to the ORTE layer as the OPAL layer has no understanding of these concepts. In addition, the component locally stored data based on process jobid/vpid - this could no longer be supported (see below for the solution).

2. the hash component was updated to use the new opal_identifier_t instead of orte_process_name_t as its index for storing data in the hash tables. Previously, we did a hash on the vpid and stored the data in a 32-bit hash table. In the revised system, we don't see a separate "vpid" field - we only have a 64-bit opaque value. The orte_process_name_t hash turned out to do nothing useful, so we now store the data in a 64-bit hash table. Preliminary tests didn't show any identifiable change in behavior or performance, but we'll have to see if a move back to the 32-bit table is required at some later time.

3. the db framework was a "select one" system. However, since the PMI component could no longer use its internal storage system, the framework has now been changed to a "select many" mode of operation. This allows the hash component to handle all internal storage, while the PMI component only handles pushing/pulling things from the PMI system. This was something we had planned for some time - when fetching data, we first check internal storage to see if we already have it, and then automatically go to the global system to look for it if we don't. Accordingly, the framework was provided with a custom query function used during "select" that lets you seperately specify the "store" and "fetch" ordering.

4. the ORTE grpcomm and ess/pmi components, and the nidmap code,  were updated to work with the new db framework and to specify internal/global storage options.

No changes were made to the MPI layer, except for modifying the ORTE component of the OMPI/rte framework to support the new db framework.

This commit was SVN r28112.
2013-02-26 17:50:04 +00:00
Jeff Squyres
7136dbb5b3 Fixes trac:3523. Discussed on the OMPI weekely teleconf today: add a
configure test to ensure that the Fortran compiler supports BIND(C)
with LOGICAL parameters (per
http://lists.mpi-forum.org/mpi-comments/2013/02/0076.php).

This may become moot shortly -- Pathscale tells me that they intend
upgrade their compiler to support BIND(C) with default LOGICAL in the
very near term (this week?).  But we still want this configure test so
that Open MPI won't even try to build the F08 bindings with older
versions of the Pathscale compilers (or any compiler that doesn't
support BIND(C) and LOGICAL parameters).

This commit was SVN r28110.

The following Trac tickets were found above:
  Ticket 3523 --> https://svn.open-mpi.org/trac/ompi/ticket/3523
2013-02-26 17:11:11 +00:00
Brian Barrett
504a6d036f * Rather than use the extra_includes directive, add the extra includes (which is really just -I${includedir}/openmpi/ for devel headers) to CPPFLAGS, since all the other necessary -Is for devel headers (like libevent and hwloc) are added to CPPFLAGS.
* Clean up ${includedir} and ${libdir} for script wrapper compilers
* Update script wrapper compilers to work like the C wrapper compilers w.r.t static and dynamic linking
* Remove the ORTE script wrapper compilers since they didn't support the ${includedir} stuff and Ralph said they weren't used anymore.

This commit was SVN r28052.
2013-02-13 00:33:05 +00:00
Joshua Ladd
70ad711337 Backing out the Open SHMEM project
This commit was SVN r28050.
2013-02-12 17:45:27 +00:00
Mike Dubman
ff384daab4 Added new project: oshmem.
This commit was SVN r28048.
2013-02-12 15:33:21 +00:00
Nathan Hjelm
ab57e2ef38 update lustre configuration to use OMPI_CHECK_PACKAGE and only check for liblustreapi (not liblustre)
This commit was SVN r28036.
2013-02-06 17:22:58 +00:00
Brian Barrett
d80218996f Rather than setting up the direct call stuff in ompi_mca (which requires
modifying ompi_mca for every interface that is direct called), do it in
the framework's .m4 file.

This commit was SVN r28031.
2013-02-04 23:26:42 +00:00
Nathan Hjelm
c28879137d set $1_LIBS correctly on all calls to ORTE_CHECK_ALPS not just the first call
This commit was SVN r28006.
2013-01-31 23:42:28 +00:00
Ralph Castain
576a5ab6f0 Actually, those calls need to be removed as we superceded them with the new opal_setup_ft.m4
This commit was SVN r28000.
2013-01-31 20:46:35 +00:00
Jeff Squyres
da5d093fdc Can't just use "0" in an AM_CONDITIONAL -- you have to use a valid
executable that can be run and returns a false exit status (which,
amusingly, in this case is 1, not 0).

This commit was SVN r27998.
2013-01-31 20:30:30 +00:00
Nathan Hjelm
1b7c2b0ed1 lustreapi.h includes lustre/lustre_user.h so the CPP should include -I$with_lustre/include
This commit was SVN r27996.
2013-01-31 19:19:54 +00:00
Rolf vandeVaart
729caaf0cd Remove any dependency on libcuda.so in opal layer. All changes are within OMPI_CUDA_SUPPORT code.
This commit was SVN r27986.
2013-01-30 23:07:32 +00:00
Brian Barrett
cf0420aaa7 Need the WRAPPER_EXTRA_* defines for orte_info as well.
This commit was SVN r27972.
2013-01-29 23:01:51 +00:00
Ralph Castain
4fdc6f1127 Revise the approach towards the FT options. Include them in a new opal_setup_ft.m4 file. Capture the ft-thread option there as well since it had slipped thru the cracks. Add a detailed comment to configure.ac that describes how to make those options visible, if desired.
This commit was SVN r27969.
2013-01-29 18:30:41 +00:00
Nathan Hjelm
666bd826dc fix alps configury
This commit was SVN r27962.
2013-01-29 15:44:30 +00:00
Jeff Squyres
fc3e45ee5c Minimalistic patch to ARM support, as suggested by Leif. Note that
this patch has already gone into the v1.6 branch.

Leif would like to revamp the ARM support in a different way, and will
submit a patch to do so in the future.

This commit was SVN r27961.
2013-01-29 14:13:55 +00:00
Jeff Squyres
ef8ab5507e Per discussion on the devel list, revert r27882.
Leif would like to revamp the ARM support in a different way, and will
submit a patch to do so in the future.

This commit was SVN r27960.

The following SVN revision numbers were found above:
  r27882 --> open-mpi/ompi@8649b5eece
2013-01-29 14:10:46 +00:00
Ralph Castain
5ff3fdd93b Remove stale ft options.
cmr:v1.7

This commit was SVN r27954.
2013-01-29 01:56:19 +00:00
Brian Barrett
b8442ba505 Revamp the handling of wrapper compiler flags. The user flags, main configure
flags, and mca flags are kept seperate until the very end.  The main configure
wrapper flags should now be modified by using the OPAL_WRAPPER_FLAGS_ADD
macro.  MCA components should either let <framework>_<component>_{LIBS,LDFLAGS}
be copied over OR set <framework>_<component>_WRAPPER_EXTRA_{LIBS,LDFLAGS}.
The situations in which WRAPPER CPPFLAGS can be set by MCA components was
made very small to match the one use case where it makes sense.

This commit was SVN r27950.
2013-01-29 00:00:43 +00:00
Brian Barrett
e5d99a1877 Don't build ORTE stuff if we said --without-orte
This commit was SVN r27936.
2013-01-28 01:29:23 +00:00
Brian Barrett
f42783ae1a Move the RTE framework change into the trunk. With this change, all non-CR
runtime code goes through one of the rte, dpm, or pubsub frameworks.

This commit was SVN r27934.
2013-01-27 23:25:10 +00:00
Jeff Squyres
d65194a97d Fixes trac:3442: ensure that we don't call "basename" on an empty string.
cmr:v1.7

This commit was SVN r27925.

The following Trac tickets were found above:
  Ticket 3442 --> https://svn.open-mpi.org/trac/ompi/ticket/3442
2013-01-26 14:46:08 +00:00
Jeff Squyres
6d3f566f11 This PUSH is never POP'ed. And we don't want this variable to
disappear, anyway.

This commit was SVN r27913.
2013-01-25 22:15:11 +00:00
Jeff Squyres
aa78adea6e Also send the titles/subtitles/etc. to config.log. The line numbers
will be wrong (because it's called via a shell subroutine rather than
an m4 macro... doh!), but it's still helpful for searching around in
config.log.  

This commit was SVN r27912.
2013-01-25 21:59:42 +00:00
Jeff Squyres
6cd56c1e87 Fix an old bug: the project name in these variables should be upper
case.  

Fixing this issue allows the following case to start working again:

./configure --disable-dlopen --with-hwloc=/path/to/some/external/hwloc ...

Without this fix, the wrapper compilers would include -lhwloc, but
would not include -L/path/..., so -lhwloc would not be found.

This commit was SVN r27894.
2013-01-23 22:09:20 +00:00
George Bosilca
8649b5eece The patch from ticket #3469 adapted for the trunk.
This commit was SVN r27882.
2013-01-21 11:45:05 +00:00
Brian Barrett
579cf4adcd After discussion with Jeff, don't do C++ inline assembly (there is a non-inline
version still avaiable for C++).  This is yet another push to try to make
OPAL a C only interface...

This commit was SVN r27828.
2013-01-15 17:04:42 +00:00
Brian Barrett
c01d709315 Fix fortran issues when there's no fortran compiler.
This commit was SVN r27780.
2013-01-09 17:05:49 +00:00
Jeff Squyres
84f1e14b17 As has been discussed for a long time, decided in the December 2012
meeting, and RFCed in mid-December (#3424): we no longer build the MPI
C++ bindings by default.

The C++ bindings are still ''there'' -- starting with 1.9, we'll just
be providing a little encouragement to no longer use them.

There are no definite plans to ''remove'' the C++ bindings yet.  At
the earliest, we would remove them in the next feature series after
1.9. 

This commit was SVN r27755.
2013-01-07 19:58:19 +00:00
Brian Barrett
703edbb0e6 Don't push infiniband CPPFLAGS into CPPFLAGS, but into the component CPPFLAGS
This commit was SVN r27754.
2013-01-07 18:57:03 +00:00
Brian Barrett
559b76a191 Need to include all the IB flags in the check for RDMA CM or the
headers and libraries won't be found if OFED is installed in a
non-standard path...

This commit was SVN r27753.
2013-01-07 17:54:10 +00:00
Ralph Castain
d482c6acc1 Improve the error message a bit
This commit was SVN r27726.
2012-12-28 03:02:07 +00:00
Ralph Castain
fb5079a310 Update the pmi detection to report a more meaningful error message when with-pmi is specified but the pmi.h file cannot be found
This commit was SVN r27725.
2012-12-27 04:57:30 +00:00
Brian Barrett
8231cb62a2 On OpenBSD (and probably others), expr operates on a 32 bit signed integer,
which is the same size as a Fortran or C integer.  This resulted in configure
coming up with Fortran's MAX_INT as -2^31, which obviously isn't a positive
number.  Since we found the MAX_INT using the same broken loop in a couple
places and doing it right is complicated, added a new macro that is much
more careful about sign roll-over.

During the Fortran rework between v1.6 and v1.7, the variable which
indicates whether or not Fortran is being compiled changed, so on platforms
without Fortran compilers, we were trying to determine the max value for
Fortran INTEGERS where we previously didn't.  I believe this is why
bug #3374 appeared as a regression.

Finally, since the OMPI code doesn't cope with OMPI_FORTRAN_HANDLE_MAX
being negative (which was the root cause of the segfault in $3374),
add a check at the end of the OMPI_FORTRAN_GET_HANDLE_MAX macro to
ensure that OMPI_FORTRAN_HANDLE_MAX is always non-negative.

This commit was SVN r27714.
2012-12-22 16:24:36 +00:00
Jeff Squyres
b29b852281 Consolidate all the opal/orte/ompi .m4 files back to the top-level
config/ directory.  We split them apart a while ago in the hopes that
it would simplify things, but it didn't really (e.g., because there
were still some ompi/opal .m4 files in the top-level config/
directory, resulting in developer confusion where any given m4 macro
was defined).

So this commit consolidates them back into the top-level directory for
simplicity.  

There's still (at least) two changes that would be nice to make:

 1. Split any generated .m4 file (e.g., autogen-generated .m4 files)
    into a separate directory somewhere so that a top-level -Iconfig/
    will only get our explicitly defined macros, not the autogen stuff
    (e.g., with libevent2019 needing to get the visibility macro, but
    NOT all the autogen-generated inclusion of component configure.m4
    files).
 1. Change configure to be of the form:
{{{
# ...a small amount of preamble/setup...
OPAL_SETUP
m4_ifdef([project_orte], [ORTE_SETUP])
m4_ifdef([project_ompi], [OMPI_SETUP])
# ...a small amount of finishing stuff...
}}}

I doubt we'll ever get anything as clean as that, but that would be
the goal to shoot for.

This commit was SVN r27704.
2012-12-19 00:00:36 +00:00
Ralph Castain
ef21699635 Since we now strip the path away from the platform file name, you have to indicate that the file is relative when sourcing it - otherwise, you get "file not found"
cmr:v1.7

This commit was SVN r27091.
2012-08-17 21:37:41 +00:00
Jeff Squyres
26217f27d7 Fix "make distclean" when used with MPI extensions. We were
accidentally adding component names to the OMPI_MPIEXT_ALL_SUBDIRS
variable twice; once with mpiext/ and once without.  And then
prefixing all of them with mpiext/ again at the end.  That wasn't
really necessary :-) -- we only need to add it once (without mpiext/)
and then prefix at the end (for consistency with the
OMPI_MPI_EXT_*_SUBDIRS handling).

This commit was SVN r26981.
2012-08-10 02:00:39 +00:00
Nathan Hjelm
3c6e2a2a48 Per RFC enable the use of the source directive (relative path) in platform files. The priority of configure options vs platform file options remains the same.
This commit was SVN r26873.
2012-07-26 16:19:23 +00:00
Josh Hursey
28681deffa Backout the ORCA commit. :(
There is a linking issue on Mac OSX that needs to be addressed before this is able to come back into the trunk.

This commit was SVN r26676.
2012-06-27 01:28:28 +00:00
Josh Hursey
542330e3a7 Commit of ORCA: Open MPI Runtime Collaborative Abstraction
This is a runtime interposition project that sits between the OMPI and ORTE layers in Open MPI.

The project is described on the wiki:
  https://svn.open-mpi.org/trac/ompi/wiki/Runtime_Interposition

And on this email thread:
  http://www.open-mpi.org/community/lists/devel/2012/06/11109.php

This commit was SVN r26670.
2012-06-26 21:42:16 +00:00
Jeff Squyres
a0e3912416 I actually meant to commit this hours ago (and could have sworn that I
did so!).  Previously, I forgot to include the case of not specifying
--with-verbs -- oops!  So now the OPAL_CHECK_VERBS_DIR macro will:

 1. $opal_want_verbs will be set to: "yes" if --with-verbs or
    --with-verbs=DIR was specified "no" if --without-verbs was
    specified) "optional" if neither --with-verbs* nor --without-verbs
    was specified
    '''NOTE:''' --with-openib* are deprecated synonyms for --with-verbs*.
 1. $opal_verbs_dir and $opal_verbs_libdir with either both be set or
    both be empty.

This commit was SVN r26654.
2012-06-25 20:28:45 +00:00
Jeff Squyres
148ae6d6e3 This commit unifies the configury of some verbs-lovin' components.
* Add new configure command line options and deprecate some old ones:
   * --with-verbs replaces --with-openib
   * --with-verbs-libdir replaces --with-openib-libdir
 * If you specify --with-openib[-libdir] without
   --with-verbs[-libdir], you'll get a "these options have been
   deprecated!" warning, but then they'll act just like
   --with-verbs[--libdir]. 

  '''Sidenote:''' Note that we are not renaming any components at this
  time, nor are we renaming the top-level OMPI_CHECK_OPENIB m4 macro
  (which is pretty strongly tied to the openib BTL and is bastaridzed
  by the ofud BTL).  Note that there will likely be more changes in
  this area coming soon (next week?) when some long-standing changes
  move to the SVN trunk: some openib BTL infrastructure will move to
  ompi/mca/common, and its configury gets split up / refactored.

We extend our philosophy of other --with-<foo> configure options of
--with-verbs to ''all'' verbs-lovin components:

 * If you specify --with-verbs, then all verbs-lovin' components must
   configure successfully (or abort).  This currently means: OOB ud,
   BTL ofud, BTL openib.
 * If you specify --with-verbs=DIR, then all verbs-lovin' component
   must configure successfully (or abort), and will use DIR to find
   verbs headers and libraries.
 * If you specify --without-verbs, then all verbs-lovin' components
   will be ignored.

This commit also fixes a problem where the --with-openib=DIR form
would not use DIR for ''all'' verbs-lovin' components (I think only
BTL openib and BTL ofud used that DIR).  Now all of them do, as does
hwloc (because hwloc has some !OpenFabrics helper functions that
require ibv types from verbs.h).

There's a little new m4 infrastructure worth mentioning:

 * If you create a new verbs-lovin' component (i.e., a component that
   need verbs), your configure.m4 should
   AC_REQUIRE([OPAL_CHECK_VERBS_DIR]). 
 * You can then use three global shell variables: $opal_want_verbs,
   $opal_verbs_dir, $opal_verbs_libdir, which will be set as follows:
   * opal_want_verbs will be "yes" and opal_verbs_dir and
     opal_verbs_libdir will both be set to directory values, '''OR'''
   * opal_want_verbs will be "no" and opal_verbs_dir and
     opal_verbs_libdir will both be set empty

This commit was SVN r26640.
2012-06-22 19:53:56 +00:00
Jeff Squyres
8b693b09af Fix long-standing typo -- that line should be a shell comment (!).
This commit was SVN r26639.
2012-06-22 19:30:08 +00:00
Terry Dontje
634fc278d9 Fix issue with sctp config scripts not detecting netinet/in.h dependency. Also removing tabs from sctp m4 file
This commit was SVN r26599.
2012-06-13 10:38:28 +00:00
Jeff Squyres
5d61dffbbc Fix long-standing typo.
This commit was SVN r26598.
2012-06-12 20:49:25 +00:00
Jeff Squyres
f9c685bd5e Fix some fortran flags variable names, and fortran configury C test
problems (i.e., don't return a value from a void() function!).  Thanks
to Eugene for identifying these issues.  Hopefully this will fix up
the problems Oracle is having with compiling the new Fortran stuff.

This commit was SVN r26310.
2012-04-23 15:28:26 +00:00
Jeff Squyres
b9640a582a Fix the case where there is no Fortran compiler found. Possibly fix
the case where we have a really ancient Fortran compiler that does not
support ISO_C_BINDING, but need to test to be sure that the new
configury works.

This commit was SVN r26290.
2012-04-18 19:29:07 +00:00
Jeff Squyres
253444c6d0 == Highlights ==
1. New mpifort wrapper compiler: you can utilize mpif.h, use mpi, and use mpi_f08 through this one wrapper compiler
 1. mpif77 and mpif90 still exist, but are sym links to mpifort and may be removed in a future release
 1. The mpi module has been re-implemented and is significantly "mo' bettah"
 1. The mpi_f08 module offers many, many improvements over mpif.h and the mpi module

This stuff is coming from a VERY long-lived mercurial branch (3 years!); it'll almost certainly take a few SVN commits and a bunch of testing before I get it correctly committed to the SVN trunk.

== More details ==

Craig Rasmussen and I have been working with the MPI-3 Fortran WG and Fortran J3 committees for a long, long time to make a prototype MPI-3 Fortran bindings implementation.  We think we're at a stable enough state to bring this stuff back to the trunk, with the goal of including it in OMPI v1.7.  

Special thanks go out to everyone who has been incredibly patient and helpful to us in this journey:

 * Rolf Rabenseifner/HLRS (mastermind/genius behind the entire MPI-3 Fortran effort)
 * The Fortran J3 committee
 * Tobias Burnus/gfortran
 * Tony !Goetz/Absoft
 * Terry !Donte/Oracle
 * ...and probably others whom I'm forgetting :-(

There's still opportunities for optimization in the mpi_f08 implementation, but by and large, it is as far along as it can be until Fortran compilers start implementing the new F08 dimension(..) syntax.

Note that gfortran is currently unsupported for the mpi_f08 module and the new mpi module.  gfortran users will a) fall back to the same mpi module implementation that is in OMPI v1.5.x, and b) not get the new mpi_f08 module.  The gfortran maintainers are actively working hard to add the necessary features to support both the new mpi_f08 module and the new mpi module implementations.  This will take some time.

As mentioned above, ompi/mpi/f77 and ompi/mpi/f90 no longer exist.  All the fortran bindings implementations have been collated under ompi/mpi/fortran; each implementation has its own subdirectory:

{{{
ompi/mpi/fortran/
  base/               - glue code
  mpif-h/             - what used to be ompi/mpi/f77
  use-mpi-tkr/        - what used to be ompi/mpi/f90
  use-mpi-ignore-tkr/ - new mpi module implementation
  use-mpi-f08/        - new mpi_f08 module implementation
}}}

There's also a prototype 6-function-MPI implementation under use-mpi-f08-desc that emulates the new F08 dimension(..) syntax that isn't fully available in Fortran compilers yet.  We did that to prove it to ourselves that it could be done once the compilers fully support it.  This directory/implementation will likely eventually replace the use-mpi-f08 version.

Other things that were done:

 * ompi_info grew a few new output fields to describe what level of Fortran support is included
 * Existing Fortran examples in examples/ were renamed; new mpi_f08 examples were added
 * The old Fortran MPI libraries were renamed:
   * libmpi_f77 -> libmpi_mpifh
   * libmpi_f90 -> libmpi_usempi
 * The configury for Fortran was consolidated and significantly slimmed down.  Note that the F77 env variable is now IGNORED for configure; you should only use FC. Example:
{{{
shell$ ./configure CC=icc CXX=icpc FC=ifort ...
}}}

All of this work was done in a Mercurial branch off the SVN trunk, and hosted at Bitbucket.  This branch has got to be one of OMPI's longest-running branches.  Its first commit was Tue Apr 07 23:01:46 2009 -0400 -- it's over 3 years old!  :-)  We think we've pulled in all relevant changes from the OMPI trunk (e.g., Fortran implementations of the new MPI-3 MPROBE stuff for mpif.h, use mpi, and use mpi_f08, and the recent Fujitsu Fortran patches).

I anticipate some instability when we bring this stuff into the trunk, simply because it touches a LOT of code in the MPI layer in the OMPI code base.  We'll try our best to make it as pain-free as possible, but please bear with us when it is committed.

This commit was SVN r26283.
2012-04-18 15:57:29 +00:00
Jeff Squyres
cb7cbf0fbd Josh and I talked about this on the phone today: mpiext is for
prototyping new MPI functionality.  The C++ bindings are officially
deprecated, and are (currently) 1 vote away from being removed from
MPI-3 altogether.  So let's whack the C++ stuff from mpiext.

This commit was SVN r26239.
2012-04-05 20:23:10 +00:00
Josh Hursey
158c30313e Add support for profiling interfaces for MPIEXT interfaces.
If the profiling directory is present '/profile' then wire in the profiling stuff.

Only supports C and F77 (and kinda F90) at the moment.

This commit was SVN r26237.
2012-04-04 20:41:49 +00:00
Jeff Squyres
28e289a9c0 Remove one more non-portable test "==" operator
This commit was SVN r25970.
2012-02-20 20:41:05 +00:00
Terry Dontje
e61a407860 Added notes about Solaris Studio and Ubuntu. Also added check for gccfss being the compiler and abort configure if it is.
This commit was SVN r25903.
2012-02-10 19:25:23 +00:00
Jeff Squyres
46a22a8fc1 Remove spurrious quotes; correct descriptions in AC_DEFINE's
This commit was SVN r25864.
2012-02-03 23:02:24 +00:00
Jeff Squyres
feb8eb8a90 Add the new MPI-3 function MPI_GET_LIBRARY_VERSION.
This commit was SVN r25860.
2012-02-02 23:57:09 +00:00
Matthias Jurenz
d154e81668 If configure of a contributed component fails, abort if it's requested via command line switch
This commit was SVN r25814.
2012-01-30 12:09:06 +00:00
Brian Barrett
cc660fa57a Rather than looking for any path, look for any non-absolute path starting
in contrib/platform, in addition to cwd

This commit was SVN r24905.
2011-07-20 23:28:17 +00:00
Josh Hursey
0833734fcf Add support for F77/F90 in the Open MPI extensions interface system.
Per RFC from OMPI Devel list:
 * http://www.open-mpi.org/community/lists/devel/2011/06/9324.php

This commit was SVN r24772.
2011-06-10 20:03:06 +00:00
Jeff Squyres
99ea34fe94 Missed updating these 2 scripts yesterday
This commit was SVN r24410.
2011-02-17 14:01:10 +00:00
Jeff Squyres
3f4d4886f2 Minor update for something that has been bugging me for quite a while:
OMPI supports multiple different repository systems (SVN, hg, git).
But the VERSION file has listed "want_svn" and "svn_r" as fields, even
though the actual repo system and version may not be SVN.

So search/replace those fields (and derrivative values that come from
those fields) with "want_repo_rev" and "repo_rev", respectively.

This commit was SVN r24405.
2011-02-16 22:53:23 +00:00
Eugene Loh
45b222ecec Correct some subtle PTRHEAD_ typos (should be PTHREAD_) in
config/ompi_config_pthreads.m4.  Terry pointed them out.
Mostly just aix/freebsd.

This commit was SVN r24324.
2011-01-28 21:05:40 +00:00
Ethan Mallove
8b83cdfe30 Remove config/libtool-sun-fortran.diff line from Makefile.am, since it was deleted.
This commit was SVN r24081.
2010-11-23 16:10:52 +00:00
Ethan Mallove
1d5785153f Redo of r24076. Modify configure (instead of libtool.m4) within
`autogen.pl` to properly handle all Sun Fortran version strings.

This commit was SVN r24080.

The following SVN revision numbers were found above:
  r24076 --> open-mpi/ompi@ca0b0efada
2010-11-23 16:08:39 +00:00
Ethan Mallove
ea837b9201 Add Libtool patch to autogen.pl for Sun Studio Fortran linker options
This commit was SVN r24075.
2010-11-19 22:09:37 +00:00
Jeff Squyres
e4744b4ed5 Per http://www.open-mpi.org/community/lists/devel/2010/11/8671.php,
change a bunch of OMPI_<foo> names to OPAL_<foo>.

This commit was SVN r24046.
2010-11-12 23:22:11 +00:00
Jeff Squyres
22496c774c Ensure to unalias some popular aliases so that this script doesn't get
hung waiting for stdin input

This commit was SVN r23970.
2010-10-29 13:37:19 +00:00
Ralph Castain
9ea2b196ce Convert the opal_event framework to use direct function calls instead of hiding functions behind function pointers. Eliminate the opal_object_t abstraction of libevent's event struct so it can be directly passed to the libevent functions.
Note: the ompi_check_libfca.m4 file had to be modified to avoid it stomping on global CPPFLAGS and the like. The file was also relocated to the ompi/config directory as it pertains solely to an ompi-layer component.

Forgive the mid-day configure change, but I know Shiqing is working the windows issues and don't want to cause him unnecessary redo work.

This commit was SVN r23966.
2010-10-28 15:22:46 +00:00
Brian Barrett
50394a05f2 Restore ordering to installdirs components
This commit was SVN r23964.
2010-10-28 01:03:16 +00:00
Brian Barrett
9febaa475e * Add shell of functionality required for supporting Portals4
* Update places where orte-free builds have failed

This commit was SVN r23891.
2010-10-14 22:49:09 +00:00
Jeff Squyres
7ef20f60f3 Autoconf updates to make us compatible with AC 2.68. Thanks to Ralf W. for the patch!
This commit was SVN r23797.
2010-09-23 22:37:52 +00:00
Jeff Squyres
cb647134b9 Also need this file in the tarball.
This commit was SVN r23796.
2010-09-23 15:33:13 +00:00
Jeff Squyres
6b9ef6517f Fix typo
This commit was SVN r23780.
2010-09-20 22:07:03 +00:00
Ralph Castain
40a2bfa238 WARNING: Work on the temp branch being merged here encountered problems with bugs in subversion. Considerable effort has gone into validating the branch. However, not all conditions can be checked, so users are cautioned that it may be advisable to not update from the trunk for a few days to allow MTT to identify platform-specific issues.
This merges the branch containing the revamped build system based around converting autogen from a bash script to a Perl program. Jeff has provided emails explaining the features contained in the change.

Please note that configure requirements on components HAVE CHANGED. For example. a configure.params file is no longer required in each component directory. See Jeff's emails for an explanation.

This commit was SVN r23764.
2010-09-17 23:04:06 +00:00
Jeff Squyres
828f2ba423 Remove the useless kruft again, but leaving $ver set this time...
This commit was SVN r23738.
2010-09-10 07:10:27 +00:00
Ralph Castain
853156dc36 Revert r23736 so trunk can build nightly tarball
This commit was SVN r23737.

The following SVN revision numbers were found above:
  r23736 --> open-mpi/ompi@fcff113cee
2010-09-10 02:10:58 +00:00
Jeff Squyres
fcff113cee Remove ancient kruft; we don't handle man pages here.
This commit was SVN r23736.
2010-09-09 15:40:18 +00:00
Jeff Squyres
c0685fc673 Fix problem noted by Sebastian Andrzej Siewior; we should not be using AS_VAR_GET. Per advice from Ralf, change them all to AS_VAR_IF and AS_VAR_COPY. CMR:v1.5. A separate patch has to be created for v1.4 because files have moved around.
This commit was SVN r23681.
2010-08-27 22:48:57 +00:00
Ethan Mallove
bdbc24a589 Get ltmain_pgi_tp.diff into nightly tarball
This commit was SVN r23678.
2010-08-27 14:06:51 +00:00
Ethan Mallove
7acb18f3d4 Patch ltmain.sh in autogen.sh per this Libtool thread:
http://www.mail-archive.com/libtool@gnu.org/msg11249.html

This commit was SVN r23665.
2010-08-25 19:40:17 +00:00
Rainer Keller
104afe39e4 - ompi_ext.m4: For VPATH builds, create the subdirectories first
- mpiext.h: For OMPI_DECLSPEC, include the ompi_config.h

This commit was SVN r23623.
2010-08-17 22:40:22 +00:00
Brian Barrett
6ae9790d19 * Add option of init/fini hooks for MPI extensions to be called at the end of
MPI_INIT and start of MPI_FINALIZE.
* Clean up MPI Extensions build system to acknowledge that OMPI's the only
  project with extensions, as well as remove some build artifacts necessary
  for more general components.

This commit was SVN r23616.
2010-08-17 04:44:22 +00:00
Mike Dubman
7d1a8a154d fca:
- keep compat to fca v1.2 and fca 2.0
- fix segv
- keep compat to ompi 1.4.x

This commit was SVN r23569.
2010-08-08 13:28:41 +00:00
Mike Dubman
7cbe9b43c2 initial release of Voltaire FCA (fabric collective accelerator) collective component
- compatible with FCA v1.2

This commit was SVN r23539.
2010-08-02 11:25:53 +00:00
Jeff Squyres
c3cc8151c7 Add --disable-<ompi-contrib-name> switch. Thanks to Kevin Buckley for
the initial patch.

This commit was SVN r23426.
2010-07-16 13:19:20 +00:00
Jeff Squyres
a3aba8f2b7 Missed two places to rename libtrace -> libompitrace.
This commit was SVN r23359.
2010-07-06 22:26:08 +00:00
Jeff Squyres
1802325a39 Rename "libtrace" to be "libompitrace" so as not to conflict with an
already-existing "libtrace" on some BSD distros.

This commit was SVN r23357.
2010-07-06 21:48:15 +00:00
Jeff Squyres
3a87183b57 Fix the help message to show which values are legal for
--enable-contrib-no-build.  Thanks to Kevin Buckley for pointing out
the issue.

This commit was SVN r23356.
2010-07-06 14:57:05 +00:00
Jeff Squyres
3449c34bc9 Remove no-longer-existing patchfiles from the Makefile.am.
This commit was SVN r22897.
2010-03-27 11:36:31 +00:00
Jeff Squyres
319fb12504 Per RFC initially started here:
http://www.open-mpi.org/community/lists/devel/2010/02/7496.php

Increase the required versions of AM, AC, and LT:

 * Autoconf: 2.65
 * Automake: 1.11.1
 * Libtool: 2.2.6b

And therefore removed a bunch of patches that we used to apply to make
older versions of these tools work.

Also updated the HACKING document to match these version numbers,
specifically mentioned Mercurial in a few places, and removed some
outdated language about running autogen.sh in subdirectories.

This commit was SVN r22896.
2010-03-26 21:03:50 +00:00
Jeff Squyres
d0d1cd90db Oops -- use a name that matches the other patches in this dir and
matches the name in Makefile.am.

This commit was SVN r22816.
2010-03-11 02:13:01 +00:00
Jeff Squyres
9f1c699f36 Add a patch to libltdl so that the preopen loader doesn't mask a real
error if the file-based dloader (e.g., dlopen) fails to load a DSO for
a complex reason (e.g., unresolved symbol).

This has been widely reported upstream to the libltdl maintainers - a
general solution is difficult.  This is very definitely an
OMPI-specific solution.  Since our embedded libltdl is hidden behind
visibility flags, that's ok.

Note that this is a change to autogen.sh, but this commit does not
force re-running autogen.sh.  You'll just get the new functionality
the next time you re-run autogen.sh.

This commit was SVN r22806.
2010-03-10 17:03:25 +00:00
Rainer Keller
4ded1651a3 - Don't we love Fortran: while everybody was of the opinion the
continuation mark in column 6 is enough to split the lines, we do
   the same continuation mark in column 73.
   Now, while that would fit any msg., this would produce warnings when
   including mpif-config.h  with -Wall in gfortran and -warn in ifort.

   Just get the SVN Version string short and forget it. Let's see
   make check choke on that.

   This additionally fixes the HG version string...

   (Will mention this in ticket #2259)

This commit was SVN r22620.
2010-02-16 02:25:00 +00:00
Jeff Squyres
715d866da6 Minor fixes:
* Fix typo in echo message
 * Only traverse into orte/ and ompi/ if they exist (i.e., properly
   handle --no-orte and --no-ompi tarballs).  Note that this was only
   a minor error -- before, they just output error messages and
   (correctly) kept going.  This fix just removes the error messages.

This commit was SVN r22353.
2010-01-05 15:11:41 +00:00
Jeff Squyres
781164a96c Add missing file.
This commit was SVN r22294.
2009-12-10 22:46:08 +00:00
Terry Dontje
c6ebc7c341 rename macros ompi_check_optflags and ompi_make_stripped_flags based on comments in #2072
This commit was SVN r22151.
2009-10-28 10:51:59 +00:00
Terry Dontje
6df802424d remove duplicate setting of CFLAGS_WITHOUT_OPTFLAGS and special case DEBUGGER_FLAGS for intel compiler
This commit was SVN r22143.
2009-10-26 18:41:53 +00:00
Ralph Castain
13d86e100b Courtesy of Ralph and Jeff:
Continue the reorganization of the configure system. Move files from the main config directory to their appropriate level-specific config directories. Modify the configure system to correctly handle compiler detection, test, and setup so that all things pertaining to opal and orte are done at the lower level, with the ompi configure system only looking at mpi-specific options.

Ensure the wrapper compilers for orte and ompi only get built when appropriate. Add support for c++ to the orte wrapper compilers, both script and non-script versions.

This commit was SVN r22138.
2009-10-24 01:04:35 +00:00
Rainer Keller
e0b7aa772f - svn propedit svn:ignore config/
Add project_list.m4 and remove the file.

This commit was SVN r22123.
2009-10-22 17:18:50 +00:00
Rainer Keller
8f01bd4c8e - Just noticed, this is missing in nightly tar-ball as well...
This commit was SVN r22121.
2009-10-22 02:07:23 +00:00
Ralph Castain
214e26b539 Per Jeff (this work was done on a branch of mine, so I will do the commit):
Re-enable "./autogen.sh -no-ompi" again. If you -no-ompi, the entire OMPI
configury is skipped and the entire ompi/ subtree is not built. There's
some simple m4-isms that prune out the relevant parts.

I added ompi/config/, orte/config/, and opal/config/ directories. I moved a
bunch of m4 files from the top-level config/ dir into ompi/config/, and a few
into orte/config/.

Note that all 3 <project>/config directories have a config_files.m4 file. This
file contains the AC_CONFIG_FILES list for that project. The AC_CONFIG_FILES
call cannot be in an AC_DEFUN macro and conditionally called -- if it is
included at all, Autoconf will process it. Hence, these config_files.m4 files
don't AC_DEFUN -- they just have AC_CONFIG_FILES. m4_ifdef() is used to
conditionally include the files or not.

I moved a bunch of obvious OMPI-only m4 files from config/ to ompi/config/,
but I'm sure that there's more that could go. A ticket will be filed with
thoughts on future work in this area.

This commit was SVN r22113.
2009-10-20 23:44:20 +00:00
Ralph Castain
358528309e Per the RFC, disable IPv6 support unless specifically requested to enable it, even if the underlying system has the required include headers.
NOTE: the IPv6 support is currently marginally working and has problems when IPv6 headers are present but the interfaces are not configured to use that protocol, per several reports from users. It is unclear that anyone is willing/able to support this capability. Should that situation change, this change can be reconsidered.

This commit was SVN r22039.
2009-09-30 23:27:11 +00:00
George Bosilca
74d56d51ac Fix a typo.
This commit was SVN r22007.
2009-09-23 23:36:44 +00:00
Ralph Castain
c3f9096fd9 Add a reliable multicast framework, with an initial basic module. This is configured out unless specifically requested via --enable-multicast.
This commit was SVN r21988.
2009-09-22 00:58:29 +00:00
Ralph Castain
a3c057c943 Add a configure option to enable-monitoring
This commit was SVN r21961.
2009-09-09 20:58:22 +00:00
Jeff Squyres
b6d406f9c2 Double check that "hg" is found on the system before trying to use
it.  If not found, insert a warning version string.

This commit was SVN r21946.
2009-09-05 09:01:30 +00:00
Jeff Squyres
c81fee8ab3 Slightly change hg version command in order to be a bit more safe
(thanks Sylvain J).

This commit was SVN r21945.
2009-09-05 08:29:13 +00:00
Jeff Squyres
4b72146afe Added some clarifications about *which* portions of this file were
derived from GASNet.

This commit was SVN r21944.
2009-09-05 03:42:40 +00:00
Jeff Squyres
17c8f103a3 Suggestion from Paul Hargrove to disable the use of --program-prefix,
--program-suffix, and --program-transform-name.

This commit was SVN r21943.
2009-09-05 01:46:49 +00:00
Ralph Castain
0e528e994f Revert last commit - went to wrong repo!
Didn't we just have that happen the other day too? :-)

This commit was SVN r21878.
2009-08-25 13:06:14 +00:00
Ralph Castain
15d12b240b Sync to r21876
This commit was SVN r21877.

The following SVN revision numbers were found above:
  r21876 --> open-mpi/ompi@ef970293f0
2009-08-25 13:04:12 +00:00
Ralph Castain
e1662b4c30 Add a new contrib area for "libtrace" - a debugger library that outputs the name of the called MPI function plus the value of all its arguments before passing them along to the corresonding PMPI call.
Support for the rest of the MPI bindings will be developed over time.

This commit was SVN r21849.
2009-08-20 04:36:20 +00:00
Jeff Squyres
f50e25d0d2 Addition to r21759 and r21764. Properly group flag-saving inside the AC_REQUIREd macro so that we don't get unexpected execution ordering. See comments on Trac ticket #1993 and Ralf W.'s post on the devel list: http://www.open-mpi.org/community/lists/devel/2009/08/6621.php
This commit was SVN r21803.

The following SVN revision numbers were found above:
  r21759 --> open-mpi/ompi@3eb2a3141a
  r21764 --> open-mpi/ompi@a82d957c46
2009-08-11 23:13:18 +00:00
Jeff Squyres
a82d957c46 A few dirty tricks to ensure that section titles appear before their
sections. 

This commit was SVN r21764.
2009-08-05 01:25:47 +00:00
Rainer Keller
bed58f1d08 - Allow the generated config/ompi_get_version.sh to be run
from VPATH directory...
   Otherwise the generated revision number is -1.

This commit was SVN r21762.
2009-08-04 22:50:23 +00:00
Jeff Squyres
3eb2a3141a These changes appear to make us play nicely with AC 2.64. I'm not
sure ''why'' these changes are necessary -- they don't really have any
functional difference.  Strange...

This commit was SVN r21759.
2009-08-04 21:37:10 +00:00
Jeff Squyres
846e6e4bad Fix borkedness from r21755:
* No need for OPAL_SIZEOF_BOOL and OPAL_SIZEOF_INT in comm_inln.h --
   just use sizeof()
 * Fix logic in ompi_setup_cxx.m4 to account for the case where we
   ''do'' have a C++ compiler (duh!!)
 * Fix spelling error in a shell variable that ended up making a
   bad/empty #define

This should bring the trunk back to being functional.  Sorry for the
interruption, folks...

This commit was SVN r21758.

The following SVN revision numbers were found above:
  r21755 --> open-mpi/ompi@90d6491737
2009-08-04 18:45:11 +00:00
Jeff Squyres
90d6491737 Since ompi_info is no longer written in C++, we no longer require a
C++ compiler in configure.  If we have a C++ compiler, then the MPI
C++ bindings are built by default.  If we don't have a C++ compiler,
then the MPI C++ bindings are not built by default.

--enable-mpi-cxx will now force an error if there is no C++ compiler
available.  --disable-mpi-cxx (or the lack of a C++ compiler) will now
disable many of the C++ compiler checks in configure.

Note that there are a few items to clean up regarding the difference
between C's _Bool type and C++'s bool type.  Right now, we assume that
they are the same.  But they aren't, and they shouldn't be treated as
such.  This cleanup will be forced in MPI-2.2 with the introduction of
the MPI_C_BOOL MPI datatype.

This commit was SVN r21755.
2009-08-04 11:54:01 +00:00
Brian Barrett
0278b86456 Pass visibility flags to libltdl's CFLAGS, which will result in libltdl
being hidden in libopal.  This seems to make applications which also
use libltdl play nicer.

This commit was SVN r21731.
2009-07-24 04:12:29 +00:00
Terry Dontje
b3e0c79275 Update copyright.
This commit was SVN r21722.
2009-07-21 12:40:43 +00:00