George,

Thank you for your answer.

Another confusing thing is that, If I use some communicator size which does
not exist in the configuration file, some rule from the configuration file
will be used anyway.
For example, let say I have a configuration file with two communicator
sizes 5 and 16. If I execute mpirun with any number of processes from 2 up
to 15 then the rule for communicator of size 5 (the first in the config
file) is used. If I use mpirun with -n 16 or greater then the rule for 16
(the last in the config file) is going to be used.

I am not sure if the exclusive approach you mentioned applies here as well.

Thanks.

Best regards,
Khalid



On Thu, May 21, 2015 at 12:05 AM, George Bosilca <bosi...@icl.utk.edu>
wrote:

> Khalid,
>
> The way we designed these rules was to define intervals in a 2 dimension
> space (communicator size, message size). You should imagine these rules as
> exclusive, you match them in the order defined by the configuration file
> and you use the algorithm defined by the last matching rule.
>
>   George.
>
>
> On Tue, May 19, 2015 at 9:30 PM, Khalid Hasanov <xali...@gmail.com> wrote:
>
>> Hi Gilles,
>>
>> Thank you a lot, it works now.
>>
>> Just one minor thing I have seen now. If I use some communicator size
>> which does not exist in the configuration file, it will still use the
>> configuration file. For example, if I use the previous config file with
>> mpirun -n 4 it will use the config for the comm size 5 (the first one). The
>> same happens if n is less than 16. If n > 16 it will use the config for the
>> communicator size 16 (the second one). I am writing this just in case it is
>> not expected behaviour.
>>
>> Thanks again.
>>
>> Best regards,
>> Khalid
>>
>>
>> On Wed, May 20, 2015 at 2:12 AM, Gilles Gouaillardet <gil...@rist.or.jp>
>> wrote:
>>
>>>  Hi Khalid,
>>>
>>> i checked the source code and it turns out rules must be ordered :
>>> - first by communicator size
>>> - second by message size
>>>
>>> Here is attached an updated version of the ompi_tuned_file.conf you
>>> should use
>>>
>>> Cheers,
>>>
>>> Gilles
>>>
>>>
>>> On 5/20/2015 8:39 AM, Khalid Hasanov wrote:
>>>
>>>  Hello,
>>>
>>> I am trying to use coll_tuned_dynamic_rules_filename option.
>>>
>>>  I am not sure if I do everything right or not. But my impression is
>>> that config file feature does not work as expected.
>>>
>>> For example, if I specify config file as in the attached
>>> ompi_tuned_file.conf and execute the attached simple broadcast example as :
>>>
>>>
>>>>   mpirun -n 16 --mca coll_tuned_use_dynamic_rules 1  --mca
>>>> coll_tuned_dynamic_rules_filename ompi_tuned_file.conf   -mca
>>>> coll_base_verbose 1  bcast_example
>>>>
>>>>
>>>> <https://mail.google.com/mail/u/0/?ui=2&ik=e63390c27f&view=att&th=14d6e6bef2c6fbca&attid=0.2&disp=safe&realattid=f_i9vxd25k1&zw>
>>>> I would expect that during run time the config file should be ignored
>>>> as it does not contain any configuration for communicator size 16. However,
>>>> it uses configuration for the last communicator for which the size is 5. I
>>>> have attached tuned_output file for more information.
>>>>
>>>>  Similar problem exists even if the configuration file contains config
>>>> for communicator size 16. For example , I added to the configuration file
>>>> first communicator size 16 then communicator size 5. But it used
>>>> configuration for communicator size 5.
>>>>
>>>>  Another interesting thing is that if the second communicator size is
>>>> greater than the first communicator in the config file then it seems to
>>>> work correctly. At least I tested it for the case where communicator one
>>>> had size 16 and second had 55.
>>>>
>>>>
>>>>  I used a development version of Open MPI (1.9.0a1). I forked it into
>>>> my own github (https://github.com/khalid-hasanov/ompi) and I have
>>>> attached ompi_info outputs as well.
>>>>
>>>>  I have added some printfs into coll_tuned_decision_dynamic.c file to
>>>> double check it:
>>>>
>>>>  if (alg) {
>>>>
>>>>         printf("Men burdayam: alg=%d\n", alg);
>>>>
>>>>             /* we have found a valid choice from the file based rules
>>>> for this message size */
>>>>
>>>>             return ompi_coll_tuned_bcast_intra_do_this (buff, count,
>>>> datatype, root,
>>>>
>>>>                                                         comm, module,
>>>>
>>>>                                                         alg, faninout,
>>>> segsize);
>>>>
>>>>         } /* found a method */
>>>>
>>>>
>>>>
>>>>
>>>>  Best regards,
>>>> Khalid
>>>>
>>>
>>>
>>> _______________________________________________
>>> users mailing listus...@open-mpi.org
>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>> Link to this post: 
>>> http://www.open-mpi.org/community/lists/users/2015/05/26882.php
>>>
>>>
>>>
>>> _______________________________________________
>>> users mailing list
>>> us...@open-mpi.org
>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>> Link to this post:
>>> http://www.open-mpi.org/community/lists/users/2015/05/26885.php
>>>
>>
>>
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>> Link to this post:
>> http://www.open-mpi.org/community/lists/users/2015/05/26886.php
>>
>
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
> Link to this post:
> http://www.open-mpi.org/community/lists/users/2015/05/26896.php
>

Reply via email to