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

8041 Коммитов

Автор SHA1 Сообщение Дата
Howard Pritchard
bf89131f9e add owner files to opa/ompi/orte mca directories
This commit adds an owner file in each of the component directories
for each framework.  This allows for a simple script to parse
the contents of the files and generate, among other things, tables
to be used on the project's wiki page.  Currently there are two
"fields" in the file, an owner and a status.  A tool to parse
the files and generate tables for the wiki page will be added
in a subsequent commit.
2015-02-22 15:10:23 -07:00
Mike Dubman
00d416ba9d yalla: fix coverity errors
dead code fix
2015-02-22 13:57:45 +02:00
Jeff Squyres
4c91bdfb0c MPI_Barrier.3in: fix prototypes
Also fix MPI_Ibarrier.3in to .so to the right MPI_Barrier.3 page.

Thanks to Maximilian for bringing the issue to our attention.
2015-02-21 06:47:12 -08:00
Jeff Squyres
9b716d946e wrappers: fix errant @{libdir} reference in pkg-config files
The RPATH support added a @{libdir} token into
<package>_WRAPPER_EXTRA_LDFLAGS.  However, these flags are also
substituted into the pkg-config data files, and they don't understand
the @{foo} notation.  So convert @{libdir} into ${libdir}, which
pkg-config *does* understand.

Thanks to Christoph Junghans (@junghans) for notifying us of the issue.

Fixes #406.
2015-02-20 08:43:19 -08:00
Jeff Squyres
ae5424c18b MPI_Intercomm_merge: fix typo in man page
Thanks to Harald Servat for noticing and sending a patch.
2015-02-20 07:13:55 -08:00
Igor Ivanov
010dce307a Fix set of coverity issues
List of CIDs (scan.coverity.com):
oshmem:
1269787, 1269907, 1270161, 1270162, 1270977, 1270978
ompi:
1270170, 1270172, 1270173

Signed-off-by: Igor Ivanov <Igor.Ivanov@itseez.com>
2015-02-20 17:45:46 +04:00
Ralph Castain
8b625c2756 Ensure the provider name isn't NULL before trying to strdup it 2015-02-19 08:38:23 -08:00
Jeff Squyres
6098b84294 libfabric: pass the appropriate LDFLAGS to libfabric components
When compiling against an external libfabric, ensure to also pass the
appropriate -L flags so that the compiler/linker can find it.
2015-02-19 05:35:38 -08:00
Rolf vandeVaart
dbd0064713 Fix bug in CUDA-aware and GDR introduced by refactoring 2015-02-18 17:44:28 -05:00
Gilles Gouaillardet
5db3065d63 fortran: fix misc memory leak in lookup_name
as reported by Coverity with CID 1269897
2015-02-18 16:41:56 +09:00
Gilles Gouaillardet
bda8058f39 coll/tuned: fix memory leaks and misc issues
as reported by Coverity with CIDs
70132, 70265, 70267, 70268, 70322, 70400, 70580, 70615,
1269934, 1269944, 1269968, 1269982, 1269983
2015-02-18 16:29:42 +09:00
Nathan Hjelm
030e9bc714 mtl/ofi: fix mca variable usage error
The fi_fabric function appears to free the provider string passed in
in the fabric_attr. This causes MCA to free an invalid pointer when
the parameter is freed.

References #374
2015-02-17 12:15:31 -07:00
Gilles Gouaillardet
7dabc7b3ab bml/r2: fix a typo
reported by Coverity as CID 1270228
2015-02-17 14:28:17 +09:00
Jeff Squyres
0bb1dfeca9 osc_base_obj_convert: remove unnecessary MEMCHECKER line
Commit open-mpi/ompi@1a3597aam changed the type of the `convertor`
variable from `ompi_osc_base_convertor_t` (which contained an
`opal_convertor_t`) to an `opal_convertor_t`.  Hence, using memchecker
to ensure that the inner convertor of the `ompi_osc_base_convertor_t`
is considered initialized is now unnecessary.
2015-02-16 07:27:44 -08:00
Gilles Gouaillardet
02da8bfa93 ompi/java: fix misc bugs
as reported by Coverity with CIDs 1270187, 1270189 and 1270190
2015-02-16 15:19:53 +09:00
Gilles Gouaillardet
0d560ddf77 osc: fix typo
this typo caused build failure when configure'd with --enable-memchecker
see http://mtt.open-mpi.org/index.php?do_redir=2234
2015-02-16 10:09:08 +09:00
George Bosilca
a7a4d6335e Various cleanups. 2015-02-15 11:39:09 -05:00
Jeff Squyres
5da123da7c ofi: change mtl_ofi_provider to level 4
Seems more appropriate; this is a variable that a tuner might want to
actually set.
2015-02-13 14:46:05 -08:00
Nathan Hjelm
4bf7a207e9 bml/r2: add all rdma btls even if another btl has higher exclusivity
Background: In order to support atomics each btl needs to provide support
for communicating with self unless the btl module can guarantee global
atomicity. Before this commit bml/r2 discarded any BTL with lower
exclusivity than an existing send btl. This would cause the BML to
discard any btl other than self.

The new behavior is as follows:

 - If an exisiting send btl has higher exclusivity then the btl will not be
   added to the send btl list for the endpoint.

 - If a btl provides RDMA support then it is always added to the rdma btl
   list.

 - bml_btl weight for send btls is now calculated across all send btls.

 - bml_btl weight for rdma btls is now calculated across all rdma btls.

With this change self should still win as the only send btl for loopback
without disqualifying other btls (ugni, openib) for atomic operations.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Nathan Hjelm
3847025540 pml/ob1: when using btl_get try to register the entire region before attempting to break the get into multiple rdma fragments
A little background. Historically ob1 always registered the entire memory
region when the RGET protocol was in use. This changed when Mellanox
added support to fragment RGET using the btl_prepare_dst function. Now
that the BTL layer has changed to split out the limits of get/put there
is explicit fragmentation code in ob1. Before this commit the registration
was still done per RGET fragment.

This commit will attempt to register the entire region before creating
RGET fragments. If the registration is successfull then all RGET
fragments will use this registration otherwise they will each attempt
to register their own segment of the receive buffer. If that fails
enough times each fragment will give up and fall back on send/recv.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Nathan Hjelm
868e10caf2 pml/bfo: ompi ignore until updated for BTL 3.0 interface
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Nathan Hjelm
c4a0e02261 pml/ob1: update for BTL 3.0 interface
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Nathan Hjelm
9285e2c356 bml: update for BTL 3.0 interface
This commit brings the bml framework up to date with BTL 3.0 interface.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Gilles Gouaillardet
b68e1cd579 ompio: fix memory leaks reported by Coverity scan
and silence CID 72195
2015-02-13 13:18:44 +09:00
Nathan Hjelm
0e822e03f7 osc/sm: always release the lock on MPI_Unlock
When a lock was obtained with MPI_MODE_NOCHECK it was not correctly
release on unlock. This is an error.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-12 18:54:22 -07:00
Nathan Hjelm
dd8aaca295 Merge pull request #389 from hjelmn/osc_datatype_fix
osc/base: fix accumulate on derived datatypes
2015-02-12 12:01:05 -07:00
Jeff Squyres
27a783b1c3 coll_sm_barrier: remove dead code
This was CID 1269978.
2015-02-12 10:24:02 -08:00
Jeff Squyres
bea0efe59c info.c: fix minor memory leak in error condition
This was CID 1269851.
2015-02-12 10:24:02 -08:00
Jeff Squyres
2ca4bf4777 cart_rank_f.c: make sure MPI_Cartdim_get succeeded
This was CID 1269686.
2015-02-12 10:24:02 -08:00
Jeff Squyres
20465badcb dims_create.c: fix minor error leak in error condition
This was CID 70278.
2015-02-12 10:24:02 -08:00
Jeff Squyres
1e58920b4d *info param.c: use stack string buffers
Coverity identified that we treated the possibility that one of the
message buffers could be NULL in some places (because strdup() could
fail), but not in others.

So just use stack buffers that will never be NULL.

This was CID 1269914.
2015-02-12 10:24:02 -08:00
Rolf vandeVaart
1f749b0224 Bump priority of coll cuda component so it is higher than self.
Otherwise, get some odd interactions with coll self in CUDA-aware
builds.
2015-02-12 12:29:03 -05:00
Jeff Squyres
fe8bc4e7eb debuggers: make the test safe to build without dlopen
This is a bit of overkill, but I'm cleaning out a bunch of other
libltdl-support assumptions, so I might as well do this one, too.  The
test isn't built if we don't have libltdl support, but it had
half-hearted #if protection in it to make it safe to build even if we
didn't have libltdl support.  This commit finishes that half-hearted
support.
2015-02-11 12:25:20 -08:00
Jeff Squyres
3ac1d0dae5 *-info: add "lt_dladvise support" lines 2015-02-11 12:25:20 -08:00
Nathan Hjelm
1a3597aa93 osc/base: fix accumulate on derived datatypes
With certain datatypes the opal_datatype_unpack method for performing
the accumulate operation does not work. This commit modifies the
accumulate code in the osc base to use opal_convertor_raw instead.

Fixes #385
2015-02-11 12:36:30 -07:00
Nathan Hjelm
a2bdfd99a2 osc/pt2pt: do not set active_incoming_frag_signal_count to 0 on fence completion 2015-02-11 12:34:04 -07:00
Jeff Squyres
c368699bde configury: whitespace cleanup
No code changes.
2015-02-09 20:49:04 -08:00
Jeff Squyres
0acdf34044 configury: --enable-dist ceased being useful long ago
The --enable-dist flag is a relic from a prior iteration of the build
system.  It isn't necessary any more.
2015-02-09 20:49:04 -08:00
Jeff Squyres
f38f2a159b pml_base: whitespace cleanup; no code changes 2015-02-06 11:27:50 -08:00
Jeff Squyres
46a1722dfc pml_base: fix errant show_help message 2015-02-06 11:27:50 -08:00
Howard Pritchard
45e7c7fd60 Merge pull request #378 from hppritcha/topic/mtl_query_cast_fix
mtl/query: squash compiler warning
2015-02-06 12:23:33 -07:00
Todd Kordenbrock
b5a0f3d347 osc-portals4: rename OPAL_ASSEMBLY_ARCH values from OMPI_* to OPAL_* 2015-02-04 16:08:55 -06:00
Todd Kordenbrock
762b05bcda mtl-portals4: fix mismatch between format and type-size 2015-02-04 15:35:03 -06:00
Todd Kordenbrock
87759a1b1e mtl-portals4: fix signedness mismatch warning 2015-02-04 15:35:03 -06:00
Todd Kordenbrock
5ddce1acbc mtl-portals4: add "unused" attribute to rc to prevent compiler warning 2015-02-04 15:35:03 -06:00
Howard Pritchard
69d2b818f7 mtl/query: squash compiler warning
Squash compiler warnings now showing up in the
query methods for the mtls.  Cast pointers to the different
mtl module specific types to the mca_base_module_t.

Also, fix up a missing extern in mtl_psm_types.h.
This was causing "multiple definition" errors when building
the mca_mtl_psm.so shared library.
2015-02-04 14:15:54 -07:00
Jeff Squyres
1261fb6a12 dpm_orte: fix uninitialized variable
(yay clang compiler warnings!)
2015-02-04 15:53:38 -05:00
Todd Kordenbrock
b8b07d2d62 mtl-portals4: Fix initialization of the Portals4 MTL component
Swap close and query methods in the initialization of the Portals4
MTL component.

Fixes #373
2015-02-04 13:29:13 -06:00
Jeff Squyres
5392b331a3 mtl_ofi_types.h: add "extern" to the mca_mtl_ofi_component declaration
Otherwise, it fails the gcc -fno-common test.
2015-02-04 10:40:56 -08:00
Yohann Burette
2762ef870d mtl/ofi: Use FI_ADDR_UNSPEC. 2015-02-04 08:32:09 -08:00
Yohann Burette
60496742b2 mtl/ofi: fix ep_name exchange 2015-02-04 08:32:04 -08:00
Jeff Squyres
1c535eee98 Just like coll/ml: We're .opal_ignore these days, not .ompi_ignore. :-) 2015-02-03 14:29:34 -08:00
Jeff Squyres
a1c521f968 We're .opal_ignore these days, not .ompi_ignore. :-) 2015-02-03 13:56:53 -08:00
rhc54
95660822b9 Merge pull request #370 from rhc54/topic/dvm
Enable a persistent DVM
2015-02-01 17:37:10 -08:00
Ralph Castain
4dba298e6e Update orte-submit manpage, add the ompi-* versions of orte-dvm and orte-submit manpages 2015-02-01 15:46:40 -08:00
Howard Pritchard
ed537ddca0 copyright updates for commit eb977de5
I really should start using Jeff's script..
2015-01-31 13:50:32 -07:00
Jeff Squyres
30f05bc966 Makefiles: remove unused macros 2015-01-31 04:51:25 -08:00
Edgar Gabriel
03c2adf3b1 part 2 of the cleaning up of info handling in ompio. The set_info interface
in the fs modules does not make sense and was not used. Remove them.
2015-01-30 16:48:41 -06:00
Edgar Gabriel
62282a0f06 part 1 of cleaning up the info handling in the ompio component. 2015-01-30 16:13:15 -06:00
Howard Pritchard
bb18bd2eec Merge pull request #363 from hppritcha/topic/mtl_query
mtl: add query method to mtl components
2015-01-29 12:31:41 -07:00
Jeff Squyres
8ae2c6a599 Merge pull request #365 from jsquyres/topic/mpi-extension-symbols
MPI extensions: rules of thumb about symbol names
2015-01-29 10:34:16 -06:00
Edgar Gabriel
5d58ce2113 handle the situation where you have an upper liomit on the simultanious number of pending aio operations. 2015-01-29 10:23:36 -06:00
Howard Pritchard
eb977de5e9 mtl: add query method to mtl components
Switch to using the query/priority method for selecting
MTLs.  This switch was motivated by the fact that now
on some platforms, its possible for multiple MTLs to
be initializable, but only one MTL should be selected.

In addition, there is a complication with the PSM and
IFO (with PSM provider) MTLs owing to the fact that
they cannot both intialize the underlying PSM context,
i.e. only one call to psm_init is allowed per process.

The mxm component has not been compiled as the author
doesn't currently have access to a system with a recent
enough mxm installed to allow for a compile.

The portals4, ofi, and psm components have been checked
for compilation.  The ofi and psm components have been
checked for runtime correctness on a intel/qlogic system
with up to date PSM installed.
2015-01-29 09:02:52 -07:00
Edgar Gabriel
2d79963cb3 mark the request as an IO request 2015-01-29 08:41:24 -06:00
Jeff Squyres
e855b19ba2 MPI extensions: rules of thumb about symbol names
This document is the result of a George Bosilca/Jeff Squyres
discussion at the developer meeting in Dallas in January of 2015.  It
attempts to provide some rules of thumb / guidance for naming
conventions of symbols in MPI extensions.
2015-01-29 06:39:44 -06:00
Edgar Gabriel
4a5d3e705b remove an unecessary comm_dup in case the internal file_open function is called from a sharedfp component. 2015-01-28 16:13:50 -06:00
Howard Pritchard
928bf977b2 Merge pull request #361 from hppritcha/topic/psm_cancel
mtl/psm: fix problem with cancel sends
2015-01-28 13:58:29 -07:00
Edgar Gabriel
51cee4a083 call the actual backend functions for file_get_position_shared and file_seek_shared. The sharedfp components
do provide the implementations, we just did not invoke them yet.
2015-01-28 13:47:54 -06:00
Howard Pritchard
4637b49bf4 Merge pull request #362 from hppritcha/topic/mtl_grammar_fix
mtl: minor grammar fix in comments
2015-01-28 05:35:24 -07:00
Howard Pritchard
e177dfc226 mtl: minor grammar fix in comments 2015-01-28 04:51:42 -07:00
Howard Pritchard
4643110c5e mtl/psm: fix problem with cancel sends
incorporate patch from @afriedle-intel to fix
problem with psm mtl cancel of sends.

Sorry for the delay in getting to this.

Fixes 347
2015-01-27 20:02:05 -07:00
George Bosilca
7adf74c617 As discussed on the devel mailing list in
http://www.open-mpi.org/community/lists/devel/2015/01/16820.php,
coll ML has two pending issues: a deadlock and a performance critical
on every communicator creation. After confirmation over IM from
Pasha, the ML collective module will be disabled until it is
fixed. Token to Pasha.
2015-01-27 16:27:12 -05:00
Jeff Squyres
2d5b92157f hierarch: with Edgar's blessing, remove the coll hierarch module 2015-01-27 13:25:27 -06:00
Yohann Burette
a741c44035 mtl/ofi: fix compiler warnings. 2015-01-27 11:14:40 -08:00
Ralph Castain
fcec24b2a4 Minor cleanups to handle comm_spawn and singletons 2015-01-27 09:29:42 -06:00
Devendar Bureddy
036e687d9c HCOLL: Do not block hcoll progress in finalize 2015-01-27 17:01:00 +02:00
Yohann Burette
a4c1faae37 mtl/ofi: Add OFI provider option.
The user can now specify which OFI provider to use with the MTL.
e.g. --mca mtl ofi --mca mtl_ofi_provider psm
2015-01-26 08:38:11 -08:00
Edgar Gabriel
ea8051f8e0 add code for the named semaphores. Configure logic to decide whether to use named or unnamed semaphores still missing. 2015-01-26 10:27:28 -06:00
Nathan Hjelm
ff7be586dd Merge pull request #355 from ggouaillardet/topic/mpi_get_hang_in_fence
osc/pt2pt: invoke ompi_osc_signal_outgoing only once per fragment
2015-01-23 18:33:14 -06:00
George Bosilca
438b6e136b Edgar noticed that the commit 3960817 broke the MPI_Type_create_resized.
So, I revert it until I figure out a better way.
2015-01-23 18:12:26 -05:00
Yohann Burette
3c06fd77db mtl/ofi: remove unneeded FI_REMOTE_COMPLETE flag. 2015-01-23 10:55:03 -08:00
Yohann Burette
b88708bf68 mtl/ofi: use fi_ep_bind(). 2015-01-23 10:50:10 -08:00
Bert Wesarg
92f976bdf1 Remove the actual VampirTrace sources. 2015-01-22 08:08:53 +01:00
Bert Wesarg
0d0a754c42 Remove VampirTrace. 2015-01-22 08:08:07 +01:00
Gilles Gouaillardet
9be4dfb152 osc/pt2pt: invoke ompi_osc_signal_outgoing only once per fragment 2015-01-22 13:43:44 +09:00
Yohann Burette
1ad188206b Add OFI MTL to CM PML.
This allows the CM PML to be picked when the OFI MTL is selected.
2015-01-20 10:50:14 -08:00
George Bosilca
ded4cbf20f Correctly set the upper and lower bound for the subarray and darray. 2015-01-19 02:26:14 -05:00
George Bosilca
39608176db If we want the resized data to have the correct LB and UB (both
soft and hard markers) we should force an add instead of
relying on the OPAL datatype resize operation.
2015-01-19 02:24:36 -05:00
George Bosilca
df0512550e The extent of the datatype is irrelevant for deciding to do an immediate
send as long as we have to pack.
2015-01-19 02:23:12 -05:00
Gilles Gouaillardet
d14daf40d0 ob1: correctly handle types in which size > extent
do not send inline if extent*count *OR* size*count are greater than 256
2015-01-19 14:07:23 +09:00
George Bosilca
19c96465f3 Fix the use of hard markers MPI_LB and MPI_UB in the creation of
subarray and darray. Thanks to Gus Correa for pointing to the
MPICH bug report.
2015-01-17 23:11:07 -05:00
Gilles Gouaillardet
661c35ca67 cleanup dead code caused by the removal of the --with-threads configure option 2015-01-16 19:13:59 +09:00
Jeff Squyres
9cc60b9e12 ofi mtl: update to new libfabric constant name 2015-01-15 07:12:39 -08:00
Yohann Burette
bc93e04604 Fixed code around fi_av_insert(). 2015-01-14 08:43:57 -08:00
Gilles Gouaillardet
6d84afc660 romio: update configure for Solaris 10 build 2015-01-14 18:25:55 +09:00
Gilles Gouaillardet
8c1698ae4a coll/libnbc: enhance fix for MPI_Ireduce_scatter on single task communicator
this improves open-mpi/ompi@b9349d2eb9
2015-01-09 13:44:01 +09:00
mjbhaskar
39f9880759 Fixed the data type argument in an all reduce operation to fix a bug
seen on 32 bit machines.
2015-01-08 14:18:54 -06:00
Gilles Gouaillardet
b746a8f584 romio: compile openmpi mpi-io glue 2015-01-08 14:08:46 +09:00
Ralph Castain
4e592ac434 Fix the tarball by providing the correct list of headers in the Makefile.am 2015-01-07 18:37:26 -08:00
mjbhaskar
2d33b0a745 A fix for memory corruption seen on 32 bit machines 2015-01-07 14:41:44 -06:00
Nathan Hjelm
81dc3a5db9 Merge pull request #335 from hjelmn/osc_updates
Osc updates
2015-01-07 11:16:55 -06:00
Ralph Castain
e0927895db Grrr...how many files did they forget? 2015-01-06 19:40:18 -08:00
Ralph Castain
84c41429e9 Add missing file 2015-01-06 18:41:11 -08:00
Nathan Hjelm
e68ed2876c osc/pt2pt: threading fixes and code cleanup 2015-01-06 13:39:16 -07:00
Nathan Hjelm
3d79806805 add more internal RMA error codes 2015-01-06 13:39:04 -07:00
Nathan Hjelm
9eba7b9d35 Rename the OSC "rdma" component to pt2p to better reflect that it does not actually use btl rdma 2015-01-06 13:38:55 -07:00
Jeff Squyres
cab1379dfb Fortran: only emit real16 and complex32 if supported
This is the master version of @ggouaillardet's patch from
open-mpi/ompi-release#148 (there was a minor conflict to fix and
several fuzzings of line numbers).
2015-01-06 09:47:26 -08:00
Howard Pritchard
ec632001b1 Merge pull request #329 from ggouaillardet/topic/romio_refresh
refresh ROMIO based on v3.2a2-84-gef1cf14
2015-01-06 10:27:20 -07:00
Gilles Gouaillardet
0914de9eae refresh ROMIO based on v3.2a2-84-gef1cf14 2015-01-06 19:43:58 +09:00
Yohann Burette
f01dd429df Reset pointer to NULL to prevent double-freeing. 2015-01-05 17:01:37 -08:00
Yohann Burette
1e24da90fe Fix fi_av_insert return code test. 2015-01-05 17:01:37 -08:00
Yohann Burette
5944c294ad Add return code testing for fi_mr_reg. 2015-01-05 17:01:37 -08:00
Howard Pritchard
c857cc926c Merge pull request #327 from hppritcha/topic/async_progress
Topic/async progress
2015-01-05 16:20:44 -07:00
Jeff Squyres
ce2008aa88 man pages: update non-blocking send descriptions
As noted by Alexander Pozdneev, non-blocking sends are now able to
*access* buffers in pending non-blocking send operations; the buffers
just can't be *modified*.
2015-01-05 15:44:27 -05:00
Devendar Bureddy
e732152304 HCOLL: Fix hcoll supported datatype checks corretcly 2015-01-02 21:18:12 +02:00
Gilles Gouaillardet
e8d084e6b9 fix ABI fix
Fix an undeleted line in open-mpi/ompi@24df0ed039
Thanks to Nick Papior Andersen for pointing this.
2014-12-28 18:07:51 +09:00
Gilles Gouaillardet
24df0ed039 MPI_Comm_split_type: fix ABI compatibility
ABI compatibility was previously broken in
open-mpi/ompi@3deda3dc82
2014-12-25 19:43:58 +09:00
Howard Pritchard
3fc7b389ff initial async progress changes for gni 2014-12-24 11:50:23 -07:00
Howard Pritchard
65c4f8d18e Merge pull request #326 from zerothi/master
Enabled COMM_TYPE_SPLIT dependent on locality
2014-12-24 09:13:04 -07:00
Nick Papior Andersen
3deda3dc82 Added several new COMM_TYPE_<> splits
Using the underlying hardware identification to split
communicators based on locality has been enabled using
the MPI_Comm_Split_Type function.

Currently implemented split's are:
  HWTHREAD
  CORE
  L1CACHE
  L2CACHE
  L3CACHE
  SOCKET
  NUMA
  NODE
  BOARD
  HOST
  CU
  CLUSTER

However only NODE is defined in the standard which is why the
remaning splits are referred to using the OMPI_ prefix instead
of the standard MPI_ prefix.

I have tested this using --without-hwloc and --with-hwloc=<path>
which both give the same output.

NOTE: I think something fishy is going on in the locality operators.
In my test-program I couldn't get the correct split on these requests:
  NUMA, SOCKET, L3CACHE
where I suspected a full communicator but only got one.
2014-12-24 11:21:35 +00:00
Gilles Gouaillardet
b9349d2eb9 coll/libnbc: fix MPI_Ireduce_scatter for single task communicator
when MPI_IN_PLACE is not used.

that commit fixes a regression introduced
open-mpi/ompi@49e79a9ade
2014-12-24 12:12:58 +09:00
Devendar Bureddy
e398ad6619 HCOLL: Fix OMPI to HCOLL predefined datatypes, Ops mapping 2014-12-23 22:30:29 +02:00
Jeff Squyres
9144517ad4 man: update a bunch of attribute-related man pages
Per discussion starting
http://www.open-mpi.org/community/lists/users/2014/12/26018.php, at
least note that OMPI does not allow adding or deleting attributes in
an attribute copy or delete callback (or any of its children) on the
same object on which the callback was invoked.
2014-12-19 11:45:58 -08:00
Jeff Squyres
c621d1e622 libfabric: don't LIBADD the common library in the static case
Adding the libfabric common library in the --disable-dlopen case will
result in duplicate symbols.
2014-12-18 11:04:08 -08:00
Rolf vandeVaart
3ec9685ee0 Add missing file to sources. Without this, tarball build does not work 2014-12-18 07:17:28 -08:00
George Bosilca
4d55ae838d Prevent deadlocks on recursive calls (deleting communicators with
attributes from an attribute callback).
2014-12-17 23:12:33 -05:00
Jeff Squyres
d6f059f538 configury: add some descriptive output messages in configure
Ensure that the ofi MTL and the usnic BTL have good descriptive output
messages in configure.
2014-12-17 13:36:01 -08:00
Jeff Squyres
4dcb92ab0b ofi: remove use of non-existent macros 2014-12-17 13:36:01 -08:00
Jeff Squyres
9d1d34c0c0 Fortran: do not dist mpif-h/sizeof_f.f90; it is generated 2014-12-17 10:24:31 -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
Jeff Squyres
f3be0a5882 ofi: ensure that null_addr is initialized to NULL
And when null_addr is freed, set it back to NULL so that we don't try
to free it again in the error: label.
2014-12-16 17:32:15 -08:00
Jeff Squyres
8c7b6d266e ofi: add "unused" attribute to rc to prevent compiler warning 2014-12-16 17:30:46 -08:00
Yohann Burette
58a7a1e4ac Adding an Open Fabrics Interfaces (OFI) MTL.
This MTL implementation uses the OFIWG libfabric's tag messaging capabilities.
2014-12-16 15:43:39 -08:00
Mangala Jyothi Bhaskar
68d78fd718 Aggregator selection logic Part 2 and reorganized Part1 2014-12-16 15:48:40 -06:00
Mangala Jyothi Bhaskar
2bd52cc410 Initialize req variable to fix a warning 2014-12-16 13:24:28 -06:00
Jeff Squyres
1b63129de3 fortran: ensure to specify the shared library version 2014-12-16 11:16:46 -08:00
Artem Polyakov
01601f3284 Merge pull request #305 from artpol84/timing
Timing framework improvement
2014-12-16 15:13:48 +06:00
George Bosilca
3430714989 Correctly propagate the requested level of thread support during the
component init calls.
2014-12-13 02:36:21 -05:00
Artem Polyakov
8ffad75a0a Introduce timing interval measurement facility in timing framework 2014-12-10 16:47:49 +06:00
Ralph Castain
06e49d0e92 Per contribution from Pascal Deveze of Bull: move opal_set_using_threads earlier in MPI_Init (before datatype init) so the value gets set in time to be properly used. 2014-12-09 00:37:57 -08:00
Jeff Squyres
a71b5dd5c7 debuggers: update warning messages when types not found
Fixes #302.
2014-12-04 03:01:51 -08:00
Jeff Squyres
1dd68d48a8 MPI_Wtime.3: give further explanation about high-res timers 2014-12-03 17:07:42 -08:00
Nadezhda Kogteva
315a240899 Timing framework: pack timing scripts to tarball always 2014-12-02 12:22:46 +02:00
Edgar Gabriel
7e41e0e62b fix a segfault in the two-phase I/O algorithm for fileviews of 0 byte size. 2014-12-01 15:59:00 -06:00
yosefe
3f152733bf Add yalla to the list of default PMLs 2014-12-01 13:11:28 +02:00
Edgar Gabriel
0758d7570e part 1 of the fix to get rid of the missing symbols that prevent the sub-modules to be loaded. 2014-11-29 20:01:36 -06:00
George Bosilca
dee243c58d ompi_proc_finalize has an interesting side effect. A proc is
inserted in the ompi_proc_list as soon as it is created and it
is removed only upon the call to the destructor. In ompi_proc_finalize
we loop over all procs in ompi_proc_finalize and release them once.
However, as a proc is not removed from this list right away, we
decrease the ref count for each proc until it reach zero and the
proc is finally removed. Thus, we cannot clean the BML/BTL after
the call the ompi_proc_finalize.
A quick fix is to delay the call to ompi_proc_finalize until all
other frameworks have been finalized, and then the behavior
depicted above will give the expected outcome.
2014-11-28 18:26:36 -05:00
Nadezhda Kogteva
45ed55afd7 Adding of missed time measurement scripts in tarball 2014-11-28 12:15:30 +02:00
George Bosilca
43901fa15a Merge branch 'master' of github.com:open-mpi/ompi 2014-11-24 22:54:41 -05:00
Ralph Castain
48f702827e First part of memory leak cleanups from Gilles 2014-11-24 16:53:33 -08:00
George Bosilca
fb6ecdfd18 Fix few typos. 2014-11-24 01:48:09 -05:00
George Bosilca
d4edd097c0 Allow for native timer (cycle level) integration
for MPI_Wtime and MPI_Wtick.
2014-11-24 00:45:14 -05:00
Andrew Friedley
e7bcad0c13 Remove unused variable.
Reported by @adrianreber, this patch removes an unused variable in the
PSM MTL, silencing a compiler warning.
2014-11-21 07:51:44 -08:00
George Bosilca
d622db783d Based on https://github.com/open-mpi/ompi/pull/262, we should use
true_lb while computing the lower bound.
2014-11-21 19:16:05 +09:00
Gilles Gouaillardet
705147e98b coll/tuned: fix allgather bruck algorithm 2014-11-21 19:16:05 +09: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
0d413fb73f Revert "Remove stale file reference"
This reverts commit 4c8fa17234.
2014-11-19 23:16:16 -07:00
Ralph Castain
4c8fa17234 Remove stale file reference 2014-11-19 18:32:19 -08:00
Nathan Hjelm
5a0a48c3c4 osc: remove lingering rdma component files 2014-11-19 12:11:54 -07:00
Nathan Hjelm
1a5349ec79 ompi ignore bfo until it is updated for new btl interface 2014-11-19 11:33:04 -07:00
Nathan Hjelm
8f1a44e60e bml/r2: add all rdma btls even if another btl has higher exclusivity
Background: In order to support atomics each btl needs to provide support
for communicating with self unless the btl module can guarantee global
atomicity. Before this commit bml/r2 discarded any BTL with lower
exclusivity than an existing send btl. This would cause the BML to
discard any btl other than self.

The new behavior is as follows:

 - If an exisiting send btl has higher exclusivity then the btl will not be
   added to the send btl list for the endpoint.

 - If a btl provides RDMA support then it is always added to the rdma btl
   list.

 - bml_btl weight for send btls is now calculated across all send btls.

 - bml_btl weight for rdma btls is now calculated across all rdma btls.

With this change self should still win as the only send btl for loopback
without disqualifying other btls (ugni, openib) for atomic operations.
2014-11-19 11:33:04 -07:00
Nathan Hjelm
22625b005b osc/pt2pt: threading fixes and code cleanup 2014-11-19 11:33:04 -07:00
Nathan Hjelm
60648e4231 add more internal RMA error codes 2014-11-19 11:33:04 -07:00
Nathan Hjelm
0110603782 ob1 warning fix 2014-11-19 11:33:04 -07:00
Nathan Hjelm
45d1fac8af ugni thread safety fixes 2014-11-19 11:33:03 -07:00
Nathan Hjelm
29e4e1c90a Rename the OSC "rdma" component to pt2p to better reflect that it does not actually use btl rdma 2014-11-19 11:33:03 -07:00
Nathan Hjelm
24427639b6 Fix ob1 warnings 2014-11-19 11:33:03 -07:00
Nathan Hjelm
271818f887 pml/ob1: bug fixes and adjustments for changes in btl_sendi behavior 2014-11-19 11:33:03 -07:00
Nathan Hjelm
ee2b111011 Update PML for latest BTL update 2014-11-19 11:33:02 -07:00
Nathan Hjelm
49ff5a79d0 Update BML for the latest BTL update 2014-11-19 11:33:02 -07:00
Nathan Hjelm
c61e017177 pml: updates to reflect member changes in mca_btl_base_descriptor_t
and mca_btl_base_module_t structures
2014-11-19 11:33:02 -07:00
Nathan Hjelm
5936411a07 pml/ob1: when using btl_get try to register the entire region before
attempting to break the get into multiple rdma fragments

A little background. Historically ob1 always registered the entire memory
region when the RGET protocol was in use. This changed when Mellanox
added support to fragment RGET using the btl_prepare_dst function. Now
that the BTL layer has changed to split out the limits of get/put there
is explicit fragmentation code in ob1. Before this commit the registration
was still done per RGET fragment.

This commit will attempt to register the entire region before creating
RGET fragments. If the registration is successfull then all RGET
fragments will use this registration otherwise they will each attempt
to register their own segment of the receive buffer. If that fails
enough times each fragment will give up and fall back on send/recv.
2014-11-19 11:33:02 -07:00
Nathan Hjelm
b75bb8aea7 Update pml for btl changes 2014-11-19 11:33:02 -07:00
Nathan Hjelm
66bd698eaf Update BML for BTL interface changes 2014-11-19 11:33:02 -07:00
Andrew Friedley
b97cda7fd9 PSM MTL: Don't connect procs already connected
PSM has issues when trying calling psm_ep_connect() more than once for a
specific peer.  Use the psm_ep_connect mask argument to avoid connecting
to processes that are already connected.

OMPI ticket #268.
2014-11-12 15:52:02 -08:00
Ralph Castain
780c93ee57 Per the PR and discussion on today's telecon, extend the process name definition as a two-field struct of uint32_t's down to the OPAL layer. This resolves issues created by prior commits that impacted both heterogeneous and SPARC support. This also simplifies the OMPI code base by removing the need for frequent memcpy's when transitioning between the OMPI/ORTE layers and OPAL.
We recognize that this means other users of OPAL will need to "wrap" the opal_process_name_t if they desire to abstract it in some fashion. This is regrettable, and we are looking at possible alternatives that might mitigate that requirement. Meantime, however, we have to put the needs of the OMPI community first, and are taking this step to restore hetero and SPARC support.
2014-11-11 17:00:42 -08:00
Jeff Squyres
a904a2deeb OpenMPI.3in: remove trailing blank lines; no content changes 2014-11-10 08:38:24 -08:00
Gilles Gouaillardet
df6115aac4 topo/base: fix uninitialized variable
this commit fixes a bug introduced by commit open-mpi/ompi@e7c59e3adb
2014-11-10 13:06:50 +09:00
bosilca
e7c59e3adb Merge pull request #227 from ggouaillardet/rfc/coll_basic_neighbor
RFC/coll basic neighbor
2014-11-07 11:33:25 -05:00
Ralph Castain
a4c0019153 Remove the no-longer-used variables from the opal_hash_table_t definition, and their reference in the ompi debugger code. 2014-11-03 21:35:42 -08:00
Gilles Gouaillardet
64c18686b7 fix ompi_request_wait vs ompi_request_wait_all and
MPI_STATUS_IGNORE vs MPI_STATUSES_IGNORE
2014-11-04 12:16:30 +09:00
Andrew Friedley
273135dbc7 Don't open PSM context when run on single node
When running many ranks on a single node using PSM, it's possible to
exhaust the network hardware contexts (there are 16).  This patch checks
if only a single node is being used. If so, the 'ipath' component of PSM
is disabled and no hardware contexts are opened.
2014-11-03 07:18:16 -08:00
Ralph Castain
616f0894ce Add missing parens on values being passed to OPAL_THREAD_ADD32 2014-10-31 19:11:48 -07:00
Jeff Squyres
7a5b2e9b13 ob1: change an OPAL_UNLIKELY to OPAL_LIKELY
Per
924d39e415 (commitcomment-8378266),
this OPAN_UNLIKELY should really be OPAL_LIKELY.
2014-10-31 03:22:55 -07:00
Nathan Hjelm
672d96704c osc/rdma: fix regression introduced by eed7b45db5
The ompi_osc_signal_outgoing was moved from ompi_osc_rdma_frag_start to frag_send
which gave correct results for the bug reproducer but hangs with simple OSC
tests. Moved the ompi_osc_signal_outgoing back and it now passes all tests.

Closes #256
2014-10-30 23:16:11 -06:00
George Bosilca
924d39e415 Always OBJ_DESTRUCT the send request. 2014-10-30 01:28:50 -04:00
Gilles Gouaillardet
ed93c8787d ob1: add a destructor to mca_pml_ob1_recv_request_t
opal_mutex_t must be OBJ_DESTRUCTed in order to avoid
a memory leak (pthread_mutex_init allocates memory under
Cygwin, so pthread_mutex_destroy is mandatory)

Thanks to Marco Atzeri for reporting this issue
2014-10-29 13:30:29 +09:00
Gilles Gouaillardet
6af465f12d wrappers: add the $(EXEEXT) extension to the installed symbolic links 2014-10-28 16:43:36 +09:00
Gilles Gouaillardet
eef7590e58 wrappers: add the $(EXEEXT) extension to the installed symbolic links 2014-10-28 16:42:51 +09:00
Gilles Gouaillardet
a16c1e4418 mpiJava: call mca_base_var_register *after* MPI_Init
Thanks to Takahiro Kawashima and Siegmar Gross for pointing this issue
2014-10-27 14:41:54 +09:00
Jeff Squyres
37c2b9cf30 Merge pull request #241 from cniethammer/master
Add missing Fortran binding for Win_allocate.
2014-10-24 08:54:28 -04:00
Jeff Squyres
96c655ec67 man: add $COPYRIGHT$ token and emacs mode to all man pages 2014-10-23 17:21:54 -04:00
Jeff Squyres
ec7808cd27 man: remove stale Java bindings from MPI man pages
Fixes #244
2014-10-23 16:43:41 -04:00
Nathan Hjelm
23dd3af946 osc/rdma: use unsigned types for all counters
Some of the counters used by the "rdma" one-sided component are intended
to overflow. Since overflow behavior is undefined for signed integers in
C it is safer to use unsigned integers here.
2014-10-22 15:36:15 -06:00
Ralph Castain
2ec59acac4 Silence a slew of warnings when --enable-memchecker is given. Reviewed by Jeff 2014-10-22 13:59:08 -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
yosefe
b4f569b4d4 yalla: address comments on #246 by @jsquires 2014-10-22 10:42:56 +03:00
yosefe
ce7c748e51 Add new PML yalla, which uses mxm directly to reduce overhead.
http://starwars.wikia.com/wiki/Ubed_Yalla
2014-10-21 16:08:24 +03:00
Jeff Squyres
952be15d7f MPI_Ibarrier.3in: add missing man page
Add MPI_Ibarrier.3in to reference MPI_Barrier.3, and update
MPI_Barrier.3in to include bindings for MPI_Ibarrier.  Slightly update
the text to be inclusive of the non-blocking case.

Fixes #242.
2014-10-20 05:26:53 -07:00
Nadezhda Kogteva
2bce929330 MTL MXM cleanup: unnecessary OMPI_MTL_MXM_CONNECT_ON_FIRST_COMM variable removed 2014-10-20 10:29:47 +03:00
Christoph Niethammer
9020a1c1f6 Add missing Fortran binding for Win_allocate. 2014-10-17 13:22:54 +02:00
bosilca
d819939841 Merge pull request #233 from ggouaillardet/rfc/coll_module_disable
Provide a symmetric behavior for the activation/deactivation of collective modules.
2014-10-16 09:22:04 -04:00
Gilles Gouaillardet
b5aea782ce Revert "Fix heterogeneous support"
Per the discussion at http://www.open-mpi.org/community/lists/devel/2014/10/16050.php

This reverts commit c9c5d4011b.
2014-10-16 12:24:38 +09:00
George Bosilca
7541c03b4c Mark all instances where atomic operations are used but their return value is unnecessary 2014-10-15 21:47:32 -04:00
Gilles Gouaillardet
c9c5d4011b Fix heterogeneous support
* redefine orte_process_name_t so it can be converted
  between host and network format as an opal_identifier_t
  aka uint64_t by the OPAL layer.
* correctly send OPAL_DSTORE_ARCH key
2014-10-15 17:19:13 +09:00
Edgar Gabriel
0219c87039 set the fs_ptr to NULL in case of an error, to avoid a malicious free on file_close. 2014-10-14 13:09:06 -05:00
Gilles Gouaillardet
e3f74aca1c Correctly mote the pointer back by the true_lb.
Fixes #231
2014-10-14 16:26:54 +09:00
Gilles Gouaillardet
0f983d5a4f add a disable function for coll module 2014-10-14 14:46:36 +09:00
Devendar Bureddy
7a6b4c36b0 HCOLL: Update the proc structure dereference
Update the proc structure dereference to reflect the new opal_proc_t
super field
2014-10-13 20:49:19 +03:00
Devendar Bureddy
b8d2a15be9 HCOLL: by default off 2014-10-13 20:49:09 +03:00
Vasily Filipov
a215a4831d MTL/MXM: disable "bulk_connect" by default. 2014-10-13 09:47:56 +03: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
Gilles Gouaillardet
8eb2d62919 coll/sm: fix an other memory leak 2014-10-10 19:54:45 +09:00
Gilles Gouaillardet
27e4389259 * comment on communicator creation in mca_topo_base_dist_graph_create(...)
* use accesors to retrieve topo info
2014-10-10 16:07:20 +09:00
Gilles Gouaillardet
5d44a30111 coll/sm: fix minor memory leaks
port 4488.1.patch attached in #196 to master
2014-10-10 14:21:34 +09:00
Gilles Gouaillardet
76204dfafe coll/basic: fix segmentation fault in neighborhood collectives if the degree
of the topology is higher than the communicator size

It is possible to have a topology degree higher than the size of the communicator.
For example, a periodic cartesian communicator on MPI_COMM_SELF. This will leave
the neighborhood collectives with a request buffer that is too small.

This commits introduces a semantic change :
from now, c_topo must be set before invoking coll_select
2014-10-10 11:56:04 +09:00
Gilles Gouaillardet
2f67f29b85 Revert "coll/basic: fix segmentation fault in neighborhood collectives if the degree"
This reverts commit 9c788ff940.
2014-10-10 11:29:06 +09:00
Elena
c905fe9b78 pmix: removed pmix_base_direct modex mca parameter, renamed orte_full_modex_cutoff and ompi_hostname_cutoff to direct_modex_cutoff 2014-10-09 06:15:31 +02:00
Nathan Hjelm
eed7b45db5 osc/rdma: fix issue identified by Berk Hess
osc/rdma uses counters to determine if all messages have been received
before exiting synchronization calls. The problem is that the active
target counter is always increasing (never zeroed). If over 2^31-1
messages are sent this causes the counter to overflow (in itself this
isn't an error). This causes test/wait to return before the communication
is complete. There is an additional error in the use of the fragment
flush function. If PSCW synchronization is in use this function CAN NOT
be called unless a post message has arrived.

Relevant mailing list thread: http://www.open-mpi.org/community/lists/devel/2014/10/16016.php

This commit fixes both issues. Tested against MTT and issue reproducer.

Closes #224.
2014-10-07 11:45:22 -06:00
Ralph Castain
fd6a044b7f Cleanup some cruft resulting from the move of the btl's to opal. We had created the ability to delay modex operations, which included a need to delay retrieving hostname info for remote procs. This allowed us to not retrieve the modex info until first message unless required - the hostname is generally only required for debug and error messages.
Properly setup the opal_process_info structure early in the initialization procedure. Define the local hostname right at the beginning of opal_init so all parts of opal can use it. Overlay that during orte_init as the user may choose to remove fqdn and strip prefixes during that time. Setup the job_session_dir and other such info immediately when it becomes available during orte_init.
2014-10-03 16:02:57 -06: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
Howard Pritchard
bb65835816 Fix iallgather problem with intercommunicators
A problem was found with the libnbc MPI_Iallgather
routine when using intercommunicators.  Special
thanks to Takahiro Kawashima(Fujitsu) for the patch
and a test case.  Verified master fails without the
patch and the test passes with the patch applied.

fixes #219
2014-10-02 11:45:17 -06:00
Ralph Castain
3263f721b6 Strip crlf line endings 2014-10-02 08:37:18 -07:00
Jeff Squyres
72704441a2 URLs: update URLs for GitHub 2014-10-01 14:44:09 -07:00
Ralph Castain
69328c30f5 Simplify the check for abort_print_stack by removing stale #ifdefined
cmr=v1.8.4:reviewer=jsquyres

This commit was SVN r32821.
2014-09-30 19:38:29 +00:00
Howard Pritchard
0f74467264 switch to ompi_mpi_thread_provided for ts check
Use ompi_mpi_thread_provided rather than opal_using_threads macro
to check whether MPI_THREAD_MULTIPLE is being used.

This commit was SVN r32815.
2014-09-29 22:20:35 +00:00
Howard Pritchard
7069f2361a disqualify coll ml for MPI_THREAD_MULTIPLE
This commit was SVN r32814.
2014-09-29 21:02:15 +00:00
Ralph Castain
eb95d6f892 ompi_info_get_bool returns "success" if the value isn't found, setting "flag" to false, but doesn't set the value of the param itself. So if you don't specify "blocking_fence" in MPI_Info, then the "blocking_fence" flag wasn't being set.
Initialize the blocking_fence flag to false as the code logic indicates that it should only be set if someone provides that flag.

Thanks to Lisandro Dalcin for reporting it

cmr=v1.8.4:reviewer=hjelmn

This commit was SVN r32812.
2014-09-29 17:21:28 +00:00
George Bosilca
49e79a9ade Fix the case of a single process.
This commit was SVN r32807.
2014-09-28 22:06:39 +00:00
Jeff Squyres
318e3b426a fortran: workaround Absoft linker issue
MTT found that the addition of the MPI_SIZEOF interfaces to mpif.h was
causing a linker error with the Absoft compiler.  Absoft is working on
a fix, but we can workaround the issue for now.  See comment in
Makefile.am in this commit for a lengthy explanation.

Refs trac:4917

This commit was SVN r32797.

The following Trac tickets were found above:
  Ticket 4917 --> https://svn.open-mpi.org/trac/ompi/ticket/4917
2014-09-25 21:07:46 +00:00
Nathan Hjelm
9c788ff940 coll/basic: fix segmentation fault in neighborhood collectives if the degree
of the topology is higher than the communicator size

It is possible to have a topology degree higher than the size of the communicator.
For example, a periodic cartesian communicator on MPI_COMM_SELF. This will leave
the neighborhood collectives with a request buffer that is too small. This commit
adds a call that will dynamically increase the size of the request buffer if it
is too small.

A better fix would be to create the topology *before* calling the coll_select
routine on a communicator. This will take some discussion and the solution will
not likely be ready anytime soon.

Thanks to Lisandro Dalcin for reporting this.

Original thread: http://www.open-mpi.org/community/lists/devel/2014/08/15713.php

cmr=v1.8.3:reviewer=jsquyres

This commit was SVN r32796.
2014-09-25 17:43:29 +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
Jeff Squyres
c9ea7f2732 fortran: ensure that sizeof_f08.h is built before mpi-f08.lo
mpi-f08.F90 includes sizeof_f08.h, so we need to add a Makefile
dependency to ensure that sizeof_f08.h is built first.

Refs trac:4917

This commit was SVN r32789.

The following Trac tickets were found above:
  Ticket 4917 --> https://svn.open-mpi.org/trac/ompi/ticket/4917
2014-09-24 23:59:18 +00:00
Ralph Castain
4024c8af9e Have to include the mpisync directory so the Makefile.in gets built - just don't build the binary and install it if timing isn't enabled
This commit was SVN r32781.
2014-09-24 01:18:21 +00:00
Edgar Gabriel
05c34946f7 implementation of non-blocking read/write operations through aio
functions for the posix module. Som interface changes for the fbtl were
necessary for that.

This commit was SVN r32777.
2014-09-23 21:27:57 +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
Ralph Castain
9c20940190 Remove mpif-sizeof.h during distclean
This commit was SVN r32771.
2014-09-21 14:26:19 +00:00
Ralph Castain
70896550bf Per input from Artem, update the copyrights on these files, ensuring to include all the licensing info for the files broght over from the mpiperf project.
This commit was SVN r32770.
2014-09-20 14:54:24 +00:00
Jeff Squyres
7f419dc5b6 fortran: set CLEANFILES properly
CLEANFILES was previously set; we need to use += to add to it.

refs trac:4917

This commit was SVN r32769.

The following Trac tickets were found above:
  Ticket 4917 --> https://svn.open-mpi.org/trac/ompi/ticket/4917
2014-09-20 10:43:49 +00:00
Jeff Squyres
040611556f fortran: don't complain about script args if we're not building fortran
refs trac:4917

This commit was SVN r32766.

The following Trac tickets were found above:
  Ticket 4917 --> https://svn.open-mpi.org/trac/ompi/ticket/4917
2014-09-20 01:22:40 +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
Rolf vandeVaart
5c73101a72 Fix typo.
This commit was SVN r32755.
2014-09-18 13:58:54 +00:00
Vasily Filipov
c7c63fe73e COLL/TUNED: alltoall - return previous default values of algorithm choosing decision thresholds (were changed by r32735)
reviewed by miked
    cmr=v1.8.3:reviewer=ompi-rm1.8

This commit was SVN r32753.

The following SVN revision numbers were found above:
  r32735 --> open-mpi/ompi@5fecf65daf
2014-09-18 08:07:51 +00:00
Jeff Squyres
0f29f222f2 fortran: remove 2 unused files
As noted in the comments of these files, they aren't used.  Instead,
the Fortran interfaces for WTICK/WTIME just BIND(C) invoke the
back-end C functions (yay BIND(C)!).  Hence, there's no need to keep
these old wrapper files around any more.

cmr=v1.8.3

This commit was SVN r32751.
2014-09-17 21:49:24 +00:00
Rolf vandeVaart
8db1f89dd1 Small change to allow CUDA-aware to work with non-reduction nonblocking collectives.
Only used when CUDA-aware feature compiled in.

This commit was SVN r32750.
2014-09-17 16:55:01 +00:00
Ralph Castain
d50c8ba65f Per patch from Gilles, cleanup some errors that surface when building with PGI. Verified by Tetsuya, reviewed okay by Jeff.
RM-approved

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

This commit was SVN r32745.
2014-09-16 19:07:02 +00:00
Vasily Filipov
ff10b25e7d warnings (caused by commit r32735) fix.
reviewed by miked
    cmr=v1.8.3:reviewer=ompi-rm1.8 

This commit was SVN r32740.

The following SVN revision numbers were found above:
  r32735 --> open-mpi/ompi@5fecf65daf
2014-09-16 06:33:49 +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