Re: [OMPI devel] Open MPI collectives algorithm selection

2015-05-21 Thread George Bosilca
You are right, during the reading of the configuration file we are bailing out if a rule doesn't start with a zero-length. While the selection logic (where I was looking) doesn't have such a restriction (it automatically selects the first rule), I consider that forcing the communicator-based rules

Re: [OMPI devel] Open MPI collectives algorithm selection

2015-05-20 Thread Gilles Gouaillardet
George, i understand the logic (even if i still find it counter intuitive, but this is an other story) if a rule for zero-sized messages is not needed, then there is a bug ... if (!nms && MS) { OPAL_OUTPUT((ompi_coll_tuned_stream,"All algorithms must specify a

Re: [OMPI devel] Open MPI collectives algorithm selection

2015-05-20 Thread George Bosilca
Gilles, There is no need to define a rule for zero-sized messages, it is implicitly matched by the first rule. To be extremely pedantic the selection logic for the communicator size and message size are identical albeit written differently. Both start by selecting rule 0, and then working their wa

Re: [OMPI devel] Open MPI collectives algorithm selection

2015-05-20 Thread Gilles Gouaillardet
George, first i'd like to amend my initial message. i previously wrote the same algo is used to parse rules per communicator size and per message size. this is true, but i missed the part where it is mandatory to define a rule for zero size message. consequently, a given message is either in an

Re: [OMPI devel] Open MPI collectives algorithm selection

2015-05-20 Thread George Bosilca
Each rule define an interval with the previous rule, and everything in an interval will be bound the the rule with the next message size. You cannot define a rule for a specific amount. Thus, the fact that the rules must be ordered by message size was done by design. Returning a NULL rule as sugge

Re: [OMPI devel] Open MPI collectives algorithm selection

2015-05-20 Thread Edgar Gabriel
I could be wrong (George, please feel free to correct me), but I *think* this was the designed behavior. If you read Jelena's paper, http://www.open-mpi.org/papers/euro-pvmmpi-2006-collective-alg-selection/euro-pvmmpi-2006-collective-alg-selection.pdf you basically construct a new decision map

Re: [OMPI devel] Open MPI collectives algorithm selection

2015-05-20 Thread Gilles Gouaillardet
Howard, i made PR 593 https://github.com/open-mpi/ompi/pull/593 in order to fix this. George, could you please review this ? Cheers, Gilles On 5/20/2015 12:57 PM, Howard Pritchard wrote: HI Gilles, First a disclaimer - I do not know what the intended design was nor where the design docu

Re: [OMPI devel] Open MPI collectives algorithm selection

2015-05-19 Thread Howard Pritchard
HI Gilles, First a disclaimer - I do not know what the intended design was nor where the design document for this feature is located. However, I would certainly prefer that if the communicator size wasn't specifically specified in the rule file, a fall back do-no-harm algorithm would be selected.

[OMPI devel] Open MPI collectives algorithm selection

2015-05-19 Thread Gilles Gouaillardet
Folks, this is a follow-up of a discussion on the user ML started at http://www.open-mpi.org/community/lists/users/2015/05/26882.php 1) it turns out the dynamic rule filename must be "sorted" : - rules must be sorted by communicator size - within a given communicator size, rules must be sorted