|
@@ -1444,7 +1444,26 @@ OpenCL types range within STARPU_OPENCL_DEFAULT (GPU number 0), STARPU_OPENCL_DE
|
|
|
@deftp {Data Type} {struct starpu_perfmodel}
|
|
|
contains all information about a performance model. At least the
|
|
|
@code{type} and @code{symbol} fields have to be filled when defining a
|
|
|
-performance model for a codelet. Other fields have to be zero.
|
|
|
+performance model for a codelet. If not provided, other fields have to be zero.
|
|
|
+
|
|
|
+@table @asis
|
|
|
+@item @code{type} is the type of performance model. @code{STARPU_HISTORY_BASED},
|
|
|
+@@code{STARPU_REGRESSION_BASED}, @code{STARPU_NL_REGRESSION_BASED}: No
|
|
|
+@other fields needs to be provided, this is purely history-based. @code{STARPU_PER_ARCH}:
|
|
|
+@code{per_arch} has to be filled with functions which return the cost in
|
|
|
+micro-seconds. @code{STARPU_COMMON}: @code{cost_function} has to be filled with
|
|
|
+a function that returns the cost in micro-seconds on a CPU, timing on other
|
|
|
+archs will be determined by multiplying by an arch-specific factor.
|
|
|
+@item @code{symbol} is the symbol name for the performance model, which will be
|
|
|
+used as file name to store the model.
|
|
|
+@item @code{cost_function}: Used by @code{STARPU_COMMON}: takes a task and
|
|
|
+implementation number, and must return a task duration estimation in micro-seconds.
|
|
|
+@item @code{per_arch}: Used by @code{STARPU_PER_ARCH}: array of @code{struct
|
|
|
+starpu_per_arch_perfmodel} structures, whose @code{cost_function} fields must
|
|
|
+point to functions which take a task, the target arch and implementation number
|
|
|
+(as mere conveniency, since the array is already indexed by these), and must
|
|
|
+return a task duration estimation in micro-seconds.
|
|
|
+@end table
|
|
|
@end deftp
|
|
|
|
|
|
@deftypefun int starpu_load_history_debug ({const char} *@var{symbol}, {struct starpu_perfmodel} *@var{model})
|