StarPU Handbook
|
![]() | This section describes the interface to manipulate codelets and tasks |
![]() | |
![]() | |
![]() | This section describes the data management facilities provided by StarPU. We show how to use existing data interfaces in Data Interfaces, but developers can design their own data interfaces if required |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | In this section, we describe how StarPU makes it possible to insert implicit task dependencies in order to enforce sequential data consistency. When this data consistency is enabled on a specific data handle, any data access will appear as sequentially consistent from the application. For instance, if the application submits two tasks that access the same piece of data in read-only mode, and then a third task that access it in write mode, dependencies will be added between the two first tasks and the third one. Implicit data dependencies are also inserted in the case of data accesses from the application |
![]() | |
![]() | |
![]() | Compute theoretical upper computation efficiency bound corresponding to some actual execution |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | StarPU permits on one hand grouping workers in combined workers in order to execute a parallel task and on the other hand grouping tasks in bundles that will be executed by a single specified worker. In contrast when we group workers in scheduling contexts we submit starpu tasks to them and we schedule them with the policy assigned to the context. Scheduling contexts can be created, deleted and modified dynamically |
![]() | TODO. While StarPU comes with a variety of scheduling policies (see Task Scheduling Policy), it may sometimes be desirable to implement custom policies to address specific problems. The API described below allows users to write their own scheduling policy |
![]() | |
![]() | |
![]() | |
![]() | This section describes the thread facilities provided by StarPU. The thread function are either implemented on top of the pthread library or the Simgrid library when the simulated performance mode is enabled (Simulated Performance) |
![]() | The following macros allow to make GCC extensions portable, and to have a code which can be compiled with any C compiler |
![]() | |
![]() | |
![]() | |
![]() | |
![]() |