|
@@ -1,7 +1,7 @@
|
|
|
/*
|
|
|
* This file is part of the StarPU Handbook.
|
|
|
* Copyright (C) 2009--2011 Universit@'e de Bordeaux
|
|
|
- * Copyright (C) 2010, 2011, 2012, 2013, 2014 CNRS
|
|
|
+ * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2016 CNRS
|
|
|
* Copyright (C) 2011, 2012 INRIA
|
|
|
* See the file version.doxy for copying conditions.
|
|
|
*/
|
|
@@ -13,12 +13,12 @@
|
|
|
StarPU proposes a platform to construct Scheduling Contexts, to
|
|
|
delete and modify them dynamically. A parallel kernel, can thus
|
|
|
be isolated into a scheduling context and interferences between
|
|
|
-several parallel kernels are avoided. If the user knows exactly how
|
|
|
-many workers each scheduling context needs, he can assign them to the
|
|
|
+several parallel kernels are avoided. If users know exactly how
|
|
|
+many workers each scheduling context needs, they can assign them to the
|
|
|
contexts at their creation time or modify them during the execution of
|
|
|
the program.
|
|
|
|
|
|
-The Scheduling Context Hypervisor Plugin is available for the users
|
|
|
+The Scheduling Context Hypervisor Plugin is available for users
|
|
|
who do not dispose of a regular parallelism, who cannot know in
|
|
|
advance the exact size of the context and need to resize the contexts
|
|
|
according to the behavior of the parallel kernels.
|
|
@@ -72,9 +72,9 @@ time of the resources.
|
|
|
|
|
|
The plugin proposes several strategies for resizing the scheduling context.
|
|
|
|
|
|
-The <b>Application driven</b> strategy uses the user's input concerning the moment when he wants to resize the contexts.
|
|
|
-Thus, the users tags the task that should trigger the resizing
|
|
|
-process. We can set directly the field starpu_task::hypervisor_tag or
|
|
|
+The <b>Application driven</b> strategy uses users's input concerning the moment when they want to resize the contexts.
|
|
|
+Thus, users tag the task that should trigger the resizing
|
|
|
+process. One can set directly the field starpu_task::hypervisor_tag or
|
|
|
use the macro ::STARPU_HYPERVISOR_TAG in the function
|
|
|
starpu_task_insert().
|
|
|
|
|
@@ -91,13 +91,13 @@ starpu_task_insert(&codelet,
|
|
|
0);
|
|
|
\endcode
|
|
|
|
|
|
-Then the user has to indicate that when a task with the specified tag is executed the contexts should resize.
|
|
|
+Then users have to indicate that when a task with the specified tag is executed the contexts should resize.
|
|
|
|
|
|
\code{.c}
|
|
|
sc_hypervisor_resize(sched_ctx, 2);
|
|
|
\endcode
|
|
|
|
|
|
-The user can use the same tag to change the resizing configuration of the contexts if he considers it necessary.
|
|
|
+Users can use the same tag to change the resizing configuration of the contexts if they consider it necessary.
|
|
|
|
|
|
\code{.c}
|
|
|
sc_hypervisor_ctl(sched_ctx,
|
|
@@ -109,7 +109,7 @@ sc_hypervisor_ctl(sched_ctx,
|
|
|
|
|
|
|
|
|
The <b>Idleness</b> based strategy moves workers unused in a certain context to another one needing them.
|
|
|
-(see \ref UsersInputInTheResizingProcess "Users’ Input In The Resizing Process")
|
|
|
+(see \ref API_SC_Hypervisor_usage)
|
|
|
|
|
|
\code{.c}
|
|
|
int workerids[3] = {1, 3, 10};
|
|
@@ -122,7 +122,7 @@ sc_hypervisor_ctl(sched_ctx_id,
|
|
|
|
|
|
The <b>Gflops rate</b> based strategy resizes the scheduling contexts such that they all finish at the same time.
|
|
|
The speed of each of them is computed and once one of them is significantly slower the resizing process is triggered.
|
|
|
-In order to do these computations the user has to input the total number of instructions needed to be executed by the
|
|
|
+In order to do these computations users have to input the total number of instructions needed to be executed by the
|
|
|
parallel kernels and the number of instruction to be executed by each
|
|
|
task.
|
|
|
|
|
@@ -175,7 +175,7 @@ without submitting them right away.
|
|
|
|
|
|
The <b>Ispeed </b> strategy divides the execution of the application in several frames.
|
|
|
For each frame the hypervisor computes the speed of the contexts and tries making them
|
|
|
-run at the same speed. The strategy requires less contribution from the user as
|
|
|
+run at the same speed. The strategy requires less contribution from users as
|
|
|
the hypervisor requires only the size of the frame in terms of flops.
|
|
|
|
|
|
\code{.c}
|