StarPU Internal Handbook
|
#include <starpu_thread.h>
Go to the source code of this file.
Data Structures | |
struct | _starpu_task_bundle_entry |
struct | _starpu_task_bundle |
struct | _starpu_handle_list |
Functions | |
void | _starpu_task_bundle_destroy (starpu_task_bundle_t bundle) |
void | _starpu_insertion_handle_sorted (struct _starpu_handle_list **listp, starpu_data_handle_t handle, enum starpu_data_access_mode mode) |
struct _starpu_task_bundle_entry |
Structure used to describe a linked list containing tasks in _starpu_task_bundle.
task Pointer to the task structure.
next Pointer to the next element in the linked list.
Data Fields | ||
---|---|---|
struct starpu_task * | task | |
struct _starpu_task_bundle_entry * | next |
struct _starpu_task_bundle |
Structure describing a list of tasks that should be scheduled on the same worker whenever it's possible. It must be considered as a hint given to the scheduler as there is no guarantee that they will be executed on the same worker.
mutex Mutex protecting the structure.
list Array of tasks included in the bundle.
closed Used to know if the user is still willing to add/remove some tasks in the bundle. Especially useful for the runtime to know whether it is safe to destroy a bundle.
Data Fields | ||
---|---|---|
starpu_pthread_mutex_t | mutex |
Mutex protecting the bundle |
struct _starpu_task_bundle_entry * | list | |
int | closed |
struct _starpu_handle_list |
Structure describing a list of handles sorted by address to speed-up when looking for an element. The list cannot containes duplicate handles.
handle Pointer to the handle structure.
access_mode Total access mode over the whole bundle.
next Pointer to the next element in the linked list.
Data Fields | ||
---|---|---|
starpu_data_handle_t | handle | |
enum starpu_data_access_mode | mode | |
struct _starpu_handle_list * | next |
void _starpu_task_bundle_destroy | ( | starpu_task_bundle_t | bundle | ) |
void _starpu_insertion_handle_sorted | ( | struct _starpu_handle_list ** | listp, |
starpu_data_handle_t | handle, | ||
enum starpu_data_access_mode | mode | ||
) |
Insert an handle in a _starpu_handle_list, elements are sorted in increasing order, considering their physical address. As the list doesn't accept duplicate elements, a handle with the same address as an handle contained in the list is not inserted, but its mode access is merged with the one of the latter.
listp (input, output) Pointer to the first element of the list. In the case of an empty list or an inserted handle with small address, it should have changed when the call returns.
handle (input) Handle to insert in the list.
mode (input) Access mode of the handle.