DLA-Future
DLA-Future copied to clipboard
Improve tune parameters
Tune parameters should be improved: 4 types of parameters should be available: a) single parameter for all cases (as it is now) b) parameter that store 2 values (MC / GPU) c) parameter that store 4 values (one for each precision) d) parameter that store 8 values (one for each precision MC/GPU)
The use cases are: a) the value is always the same b) MC and GPU implementations have the same tune parameter but value are not meant to be the same (e.g. implementation templated over backend) c) different precision need a different value (e.g. due to memory usage or task duration) d) combination of the last two points.
implementation idea:
- struct with
getValue<B>()
,getValue<T>()
or resp.getValue<B, T>()
that return the correct value. - value are passed as (command line input or env variable):
-
128
-> 128 is used for all values (a,b,c,d) -
128,256
-> MC values are set to 128 and GPU values to 256 (b,d) -
1,2,3,4
->s
is 1d
is 2,c
is 3, andz
is 4 (c,d) -
1,2,3,4,5,6,7,8
-> MC:s
is 1d
is 2,c
is 3, andz
is 4 / GPU:s
is 5d
is 6,c
is 7, andz
is 8 (d) - If any value is an empty string keep the default e.g.:
-
1,2,,4
->s
is 1d
is 2,c
keep default value(s), andz
is 4 (c,d) -
128,
-> MC values are set to 128 and GPU keep default value(s) (b,d)
-
-