|
@@ -2464,6 +2464,7 @@ instance.
|
|
|
* Vector Scaling on an Hybrid CPU/GPU Machine:: Handling Heterogeneous Architectures
|
|
|
* Task and Worker Profiling::
|
|
|
* Partitioning Data:: Partitioning Data
|
|
|
+* Performance model example::
|
|
|
* More examples:: More examples shipped with StarPU
|
|
|
@end menu
|
|
|
|
|
@@ -3108,8 +3109,6 @@ for (worker = 0; worker < starpu_worker_get_count(); worker++)
|
|
|
@end smallexample
|
|
|
@end cartouche
|
|
|
|
|
|
-@c TODO: Add performance model example (and update basic_examples)
|
|
|
-
|
|
|
@node Partitioning Data
|
|
|
@section Partitioning Data
|
|
|
|
|
@@ -3152,6 +3151,28 @@ for (i=0; i<starpu_data_get_nb_children(handle); i++) @{
|
|
|
@end smallexample
|
|
|
@end cartouche
|
|
|
|
|
|
+@node Performance model example
|
|
|
+@section Performance model example
|
|
|
+
|
|
|
+TODO
|
|
|
+
|
|
|
+@cartouche
|
|
|
+@smallexample
|
|
|
+static struct starpu_perfmodel_t mult_perf_model = @{
|
|
|
+ .type = STARPU_HISTORY_BASED,
|
|
|
+ .symbol = "mult_perf_model"
|
|
|
+@};
|
|
|
+
|
|
|
+starpu_codelet cl = @{
|
|
|
+ .where = STARPU_CPU,
|
|
|
+ .cpu_func = cpu_mult,
|
|
|
+ .nbuffers = 3,
|
|
|
+ /* in case the scheduling policy may use performance models */
|
|
|
+ .model = &mult_perf_model
|
|
|
+@};
|
|
|
+@end smallexample
|
|
|
+@end cartouche
|
|
|
+
|
|
|
@node More examples
|
|
|
@section More examples
|
|
|
|
|
@@ -3164,7 +3185,7 @@ directory. Simple examples include:
|
|
|
@item @code{basic_examples/}:
|
|
|
Simple documented Hello world (as shown in @ref{Hello World}), vector/scalar product (as shown
|
|
|
in @ref{Vector Scaling on an Hybrid CPU/GPU Machine}), matrix
|
|
|
- product examples, an example using the blocked matrix data
|
|
|
+ product examples (as shown in @ref{Performance model example}), an example using the blocked matrix data
|
|
|
interface, and an example using the variable data interface.
|
|
|
@item @code{matvecmult/}:
|
|
|
OpenCL example from NVidia, adapted to StarPU.
|