Barry Smith <bsm...@mcs.anl.gov> writes:

>> On Sep 15, 2016, at 1:10 PM, Dave May <dave.mayhe...@gmail.com> wrote:
>> 
>> 
>> 
>> On Thursday, 15 September 2016, Barry Smith <bsm...@mcs.anl.gov> wrote:
>> 
>>    Should we have some simple selection of default algorithms based on 
>> problem size/number of processes? For example if using more than 1000 
>> processes then use scalable version etc?  How would we decide on the 
>> parameter values?
>> 
>> I don't like the idea of having "smart" selection by default as it's 
>> terribly annoying for the user when they try and understand the performance 
>> characteristics of a given method when they do a strong/weak scaling test. 
>> If such a smart selection strategy was adopted, the details of it should be 
>> made abundantly clear to the user.
>> 
>> These algs are dependent on many some factors, thus making the smart 
>> selection for all use cases hard / impossible.
>> 
>> I would be happy with unifying the three inplemtationa with three different 
>> options AND having these implantation options documented in the man page. 
>> Maybe even the man page should advise users which to use in particular 
>> circumstances (I think there is something similar on the VecScatter page).
>> 
>> I have these as suggestions for unifying the options names using bools 
>> 
>> -matptap_explicit_transpose
>> -matptap_symbolic_transpose_dense
>> -matptap_symbolic_transpose
>> 
>> Or maybe enums is more clear
>> -matptap_impl {explicit_pt,symbolic_pt_dense,symbolic_pt}
>> 
>> which are equivalent to these options
>> 1) the current default
>> 2) -matrap 0
>> 3) -matrap 0 -matptap_scalable
>> 
>> Maybe there could be a fourth option
>> -matptap_dynamic_selection
>> which chooses the most appropriate alg given machine info, problem size, 
>> partition size,.... At least if the user explicitly chooses the 
>> dynamic_selection mode, they wouldn't be surprised if there were any bumps 
>> appearing in any scaling study they conducted.
>
>    I like the idea of enum types with the final enum type being "dynamically 
> select one for me".

I also like enums and "-matptap_impl auto" (which could be the default).

Attachment: signature.asc
Description: PGP signature

Reply via email to