1
1
openmpi/ompi/mca/pml
Mark Allen 36f51bca26 yalla with irregular contig datatype -- Fixes 3566
Yalla has a macro PML_YALLA_INIT_MXM_REQ_DATA that checks if a datatype
is contiguous via opal_datatype_is_contiguous_memory_layout(dt,count)
and if so it selects a size and lb that presumably is what will rdma, as
            ompi_datatype_type_size(_dtype, &size); \
            ompi_datatype_type_lb(_dtype, &lb); \

This failed when I gave it a datatype constructed as [ ...] with extent 4.
What I mean by that datatype is
    lens[0] = 3;
    disps[0] = 1;
    types[0] = MPI_CHAR;
    MPI_Type_struct(1, lens, disps, types, &tmpdt);
    MPI_Type_create_resized(tmpdt, 0, 4, &mydt);
So there are 3 chars at offset 1, and the LB is 0 and the UB is 4.

So that macro decides that size=4 and lb=0 and later I suppose size is getting
updated to 3 for the final rdma, and so a send of a buffer
[ 0 1 2 3 ] gets recved as [ 0 1 2 _ ]. I think it should use the true lb
and the true extent.

For "regular" contig datatypes it would be the same, and for the irregular
ones that are still deemed contiguous by that utility function it should
still be the right thing to use.

Signed-off-by: Mark Allen <markalle@us.ibm.com>
2017-05-23 20:56:12 -04:00
..
base Merge pull request #2393 from bosilca/topic/no_predefined_ddt_refcount 2017-02-21 09:38:11 +09:00
bfo pml/bfo: Correct a function name and header filenames 2017-03-02 16:02:53 +09:00
cm Merge pull request #2393 from bosilca/topic/no_predefined_ddt_refcount 2017-02-21 09:38:11 +09:00
crcpw Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
example Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
monitoring Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
ob1 pml/ob1: do not cache leave_pinned 2017-03-14 09:00:40 -06:00
ucx PML UCX: unite the code for all the sending modes. 2017-04-26 13:17:06 +03:00
v Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
yalla yalla with irregular contig datatype -- Fixes 3566 2017-05-23 20:56:12 -04:00
configure.m4 Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
Makefile.am Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
pml_constants.h Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
pml.h Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00