Skip to content

Conversation

@derbeyn
Copy link
Contributor

@derbeyn derbeyn commented Dec 10, 2018

…r limit.

When a datatype is internally described by a (LOOP-{DATA}*-ENDLOOP) structure, and this datatype size is greater than the btl eager limit, the following process is applied:

  1. a loop is packed up to the eager size.
  2. the remaing of the loop is processed single DATA by single DATA.

This process has been enhanced by artificially inserting a LOOP element during the packing of the remaining elements. This has the effect of considering the second part of a LOOP as a LOOP too, instead of a series of DATA.

As shown in the attached graph, performances are improved above the eager limit, when exchanging this kind of datatypes.
For example, for a 258240 bytes buffer, we move from 1502.635195 down to 965.680833 microseconds.
time_vector

This graph has been generated with the master, and the following MCA parameters set:
OMPI_MCA_pml=ob1
OMPI_MCA_btl=openib
OMPI_MCA_btl_openib_allow_ib=1

Signed-off-by: Nadia Derbey Nadia.Derbey@atos.net

…r limit.

Signed-off-by: Nadia Derbey <Nadia.Derbey@atos.net>
@hjelmn hjelmn requested a review from bosilca December 18, 2018 17:09
@hjelmn
Copy link
Member

hjelmn commented Dec 18, 2018

@bosilca Looks good to me. Can you verify this?

@ggouaillardet
Copy link
Contributor

@derbeyn could you please provide an example of derived datatype that benefits from this optimization ?

@bosilca
Copy link
Member

bosilca commented Dec 22, 2018

Any vector type would work. You should use it together with a handcrafted eager, one that would leave the bConverted in the middle of one of the vector stride.

@derbeyn
Copy link
Contributor Author

derbeyn commented Jan 8, 2019

@ggouaillardet sorry for the delay in answering, I was on vacation.
As @bosilca said, a vector exchange is enough to see the optimization.
Attaching a source file to give you an idea:

simple_test_vector.c.txt

@jsquyres
Copy link
Member

@derbeyn @bosilca Ping. Is this PR going anywhere?

@derbeyn
Copy link
Contributor Author

derbeyn commented Feb 25, 2019

Not sure it has ever been reviewed?

@bosilca
Copy link
Member

bosilca commented Jun 21, 2019

@derbeyn can you check the status of the new datatype engine (#6695) with regard to this topic ?

@bosilca
Copy link
Member

bosilca commented Jul 23, 2019

This issue has been addressed in #6695

@bosilca bosilca closed this Jul 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants