1
1

982 Коммитов

Автор SHA1 Сообщение Дата
George Bosilca
253eb80e26 Code cleaning of the tuned module. 2016-10-25 12:17:25 -04:00
Gilles Gouaillardet
6714f6aee7 coll/libnbc: fix MPI_Ialltoallv with MPI_IN_PLACE and without MPI param check 2016-10-24 09:29:06 +09:00
Josh Hursey
d1ecc83e14 Merge pull request #2245 from jjhursey/topic/libnbc-error-path
coll/libnbc: Fix error path on internal error
2016-10-21 13:27:17 -05:00
Joshua Hursey
8748e54c11 coll/libnbc: Fix error path on internal error
* If an error is detected internal to libnbc (e.g., PML truncation error)
   this patch makes sure that the request is completed and the `MPI_ERROR`
   field is set approprately.
 * Make an attempt to cleanup outstanding requests before returning.
   - This is a "best attempt" since not all PMLs support canceling requests.
2016-10-21 11:41:08 -04:00
Gilles Gouaillardet
45336d0bea libnbc: fix iallgather[v]
In order to optimize for MPI_IN_PLACE, data is sent from the receive buffer.
consequently, it should be sent with the receive type and count.

Thanks Josh Hursey for the report and test case

Refs open-mpi/ompi#2256
2016-10-21 10:24:25 +09:00
Gilles Gouaillardet
e78fcc4db9 coll/base: fix ompi_coll_base_{gather,scatter}_intra_binomial
receive type is only relevant for root with gather,
send type is only relevant for root with scatter,
so do not access these types on a non root task
2016-10-19 14:05:22 +09:00
Gilles Gouaillardet
1e3191115b Merge pull request #2172 from ggouaillardet/topic/ialltoall_in_place
support MPI_IN_PLACE in MPI_Ialltoall*
2016-10-17 17:00:47 +09:00
Valentin Petrov
9747a9ea9b coll/hcoll: ialltoallv interface 2016-10-10 15:09:07 +03:00
Gilles Gouaillardet
1e0f591811 coll/libnbc: implement support for MPI_IN_PLACE in MPI_Ialltoall*
Thanks Chris Ward for the report

Many thanks to George for the guidance
2016-10-08 19:44:01 +09:00
Gilles Gouaillardet
80beb30c58 coll/sync: plug a memory leak 2016-09-27 16:29:57 +09:00
Ralph Castain
7f3fac48ab Fix typo on the COLL_SYNC macro 2016-09-06 12:43:07 -07:00
Gilles Gouaillardet
75b7ef97a0 coll/libnbc: fix nbc_ireduce when sendbuf == recvbuf
if sendbuf is equal to recvbuf, that should not be interpreted
as equivalent to MPI_IN_PLACE on the non root rank(s)

Thanks Valentin Petrov for the report
2016-09-01 10:19:05 +09:00
Gilles Gouaillardet
2969235324 libnbc: fix NBC_Copy for predefined datatypes
predefined datatypes such as MPI_LONG_DOUBLE_INT are not really contiguous,
so use span as returned by opal_datatype_span() instead of type extent,
otherwise data might be written above allocated memory.

Thanks Valentin Petrov for the report
2016-09-01 10:18:57 +09:00
Ralph Castain
bcf5ac3971 Set the default value of both barrier counters to zero, thus ensuring the coll/sync component is off by default 2016-08-24 07:51:32 -07:00
Ralph Castain
22844b0dc6 Balance priorities to ensure something is below sync 2016-08-23 17:33:45 -07:00
Ralph Castain
540f23c4dd Adjust priority of coll/sync downwards 2016-08-23 17:12:48 -07:00
Ralph Castain
871bedb103 Add missing "const" qualifiers 2016-08-22 12:54:24 -07:00
Joshua Ladd
deae1ab375 Merge pull request #1985 from vspetrov/master
coll/hcoll: Fixes predifined types mapping
2016-08-22 09:18:59 -04:00
George Bosilca
b96ec77e40 This variable belongs to the tuned modules and not to base. 2016-08-20 15:37:55 -04:00
George Bosilca
e8425eb1f5 Rename an OMPI internal variable (ticket #1955). 2016-08-20 15:37:55 -04:00
rhc54
102d3afe2c Merge pull request #1992 from rhc54/topic/sync
Restore the coll/sync module and provide a test to verify its operation
2016-08-20 13:33:28 -05:00
George Bosilca
fd57f5bccd Remove some of the clang warnings. 2016-08-20 14:21:42 -04:00
Ralph Castain
9888615e75 Restore the coll/sync module and provide a test to verify its operation 2016-08-20 10:14:52 -07:00
Valentin Petrov
9790373fc6 coll/hcoll: Fixes predifined types mapping 2016-08-19 11:19:12 +03:00
Todd Kordenbrock
3be6052523 Merge pull request #1896 from PDeveze/Patchs-on-coll-portals4
Patchs on coll portals4
2016-08-08 14:57:02 -05:00
Howard Pritchard
ff669e7b15 code cleanup: clang is now a happier panda
Clang 5.1 on my mac was a sad panda compiling a couple
of files,  complaining about uninitialized stack variables.

This commit makes clang a happier panda (or at least not so sad).

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2016-08-04 19:34:44 -06:00
Gilles Gouaillardet
60e91e890a coll/base: give a boost to ompi_coll_base_sendrecv_nonzero_actual()
Based on current implementation it is faster to use a blocking
send than the non-blocking version. Switch the exchange function
used in the barrier to use the blocking version combined with
the non-blocking version of the receive.

This is similar to open-mpi/ompi@223d75595d
2016-08-04 13:31:07 +09:00
Gilles Gouaillardet
917d96ba50 coll/libnbc: cleanup handling of the second temporary buffer in ireduce 2016-08-02 16:32:15 +09:00
Gilles Gouaillardet
ed9139ca13 coll/libnbc: correctly handle datatype alignment when allocating two buffers at once 2016-08-02 15:44:12 +09:00
Valentin Petrov
3582bba6b7 coll/hcoll mpi datatypes support 2016-07-29 10:06:39 +03:00
Gilles Gouaillardet
a0a999e63d coll/base: fix ompi_coll_base_allgatherv_intra_basic_default() with MPI_IN_PLACE 2016-07-28 13:57:18 +09:00
Gilles Gouaillardet
b8a1ffb87e coll/base: fix ompi_coll_base_allgatherv_intra_basic_default()
Fixes open-mpi/ompi#1907
2016-07-28 13:50:04 +09:00
Pascal Deveze
a7e3de6c4f coll-portals4: No more messages passed to Portals4 bigger than the limit given by PtlNIInit 2016-07-21 15:58:20 +02:00
Pascal Deveze
175e6aa385 coll-portals4: Before calling PtlCTWait, call PtlTriggeredInc twice so be sure all pending PtlTriggredPut are triggered 2016-07-21 15:58:20 +02:00
Pascal Deveze
df59d6cdd4 coll-portals4: Correct and simplify how the data are cut in segment_nb segments (bcast) 2016-07-21 15:58:09 +02:00
Pascal Deveze
274f8d608c coll-portals4: Change output format and change variable names (minor changes). 2016-07-21 11:06:45 +02:00
Gilles Gouaillardet
14624506df coll/libnbc: do not exchange data between roots in ompi_coll_libnbc_ireduce_scatter_inter()
this is now useless since the scatter is done via the local communicator
2016-07-11 17:18:30 +09:00
Gilles Gouaillardet
a55d57406b coll/base: fix non zero lower bound datatype handling in mca_coll_base_alltoallv_intra_basic_inplace() 2016-07-08 16:55:26 +09:00
Gilles Gouaillardet
7b8094aac1 coll/base: silence misc warning
as reported by Coverity with CIDs 1363349-1363362

Offset temporary buffer when a non zero lower bound datatype is used.

Thanks Hristo Iliev for the report

(cherry picked from commit 0e393195d9f2373ffa9d59a240092f643117cd39)
2016-07-08 13:06:26 +09:00
Gilles Gouaillardet
678d08647b coll/libnbc: various fixes
- correctly handle non commutative operators
 - correctly handle non zero lower bound ddt
 - correctly handle ddt with size > extent
 - revamp NBC_Sched_op so it takes two buffers and matches ompi_op_reduce semantic
 - various fix for inter communicators

Thanks Yuki Matsumoto for the report
2016-07-07 15:55:49 +09:00
Gilles Gouaillardet
3e559a14a9 coll/inter: fix non standard ddt handling
- correctly handle non zero lower bound ddt
 - correctly handle ddt with size > extent

Thanks Yuki Matsumoto for the report
2016-07-07 15:49:59 +09:00
Gilles Gouaillardet
488d037d51 coll/basic: fix non standard ddt handling
- correctly handle non zero lower bound ddt
 - correctly handle ddt with size > extent

Thanks Yuki Matsumoto for the report
2016-07-07 15:49:53 +09:00
Gilles Gouaillardet
c06fb04a9a coll/base: fix non zero lower bound ddt handling in ompi_coll_base_reduce_intra_basic_linear()
Thanks Yuki Matsumoto for the report
2016-07-07 15:49:48 +09:00
Joshua Hursey
0a09f8bc51 coll/hcoll: Protect module destruct when not fully initialized
* If hcoll is given a negative priority, but not enabled=0 then
   the module is constructed, but then destructed before calling
   it's query(). So the previous pointers are not initialized.
   If we try to OBJ_RELEASE them in a debug build an assert will fire.
   This commit adds some protection against that and initializes
   the _module pointers to NULL.
2016-07-01 13:41:27 -05:00
Joshua Hursey
59f304b9e9 coll/base: neg. priority cleanup, verbose output improvements
* Print a verbose message if the component was disqualified because of
   a negative priority.
 * If a disqualified component provided a module, release it.
 * Display list of selected components in priority order
   - During the process of volunteering collective functions for a
     communicator, print the component name and priority. This will
     cause the verbose messages to be displayed in reverse priority
     order (lowest priority first, up to highest). This is helpful
     when determining which collective components are active in which
     order for a given communicator.
     To see the messages you need the following MCA parameter set to 9
     or higher: `-mca coll_base_verbose 9`
 * Adjust verbose for commonly needed verbose output from 10 to 9 to
   make it easier to access this information.
2016-07-01 13:41:27 -05:00
George Bosilca
9c4f56be4b Fix the coll_base_sendrecv function. 2016-06-18 18:23:51 +02:00
Gilles Gouaillardet
80e362de52 coll/base: fix memory free in ompi_coll_base_allreduce_intra_recursivedoubling err handler
Fix CID 1362630

Fixes open-mpi/ompi@0e393195d9
2016-06-09 13:12:25 +09:00
Gilles Gouaillardet
ead7efef3f coll/basic: silence CID 1362614 in mca_coll_basic_allreduce_inter() 2016-06-09 09:40:19 +09:00
Gilles Gouaillardet
ad2e1a5ae9 coll/base: silence CID 1362613 in ompi_coll_base_alltoall_intra_basic_linear() 2016-06-09 09:40:05 +09:00
Gilles Gouaillardet
80b267af1c coll/base: silence CID 1362601 in ompi_coll_base_sendrecv_zero() 2016-06-09 09:37:31 +09:00