|
StarPU Handbook - StarPU Installation
|
API to interoperate with other runtime systems. More...
Enumerations | |
| enum | e_starpurm_drs_ret { starpurm_DRS_SUCCESS , starpurm_DRS_DISABLD , starpurm_DRS_PERM , starpurm_DRS_EINVAL } |
Initialisation | |
| void | starpurm_initialize_with_cpuset (hwloc_cpuset_t initially_owned_cpuset) |
| void | starpurm_initialize (void) |
| void | starpurm_shutdown (void) |
Spawn | |
| void | starpurm_spawn_kernel_on_cpus (void *data, void(*f)(void *), void *args, hwloc_cpuset_t cpuset) |
| void | starpurm_spawn_kernel_on_cpus_callback (void *data, void(*f)(void *), void *args, hwloc_cpuset_t cpuset, void(*cb_f)(void *), void *cb_args) |
| void | starpurm_spawn_kernel_callback (void *data, void(*f)(void *), void *args, void(*cb_f)(void *), void *cb_args) |
DynamicResourceSharing | |
| starpurm_drs_ret_t | starpurm_set_drs_enable (starpurm_drs_desc_t *spd) |
| starpurm_drs_ret_t | starpurm_set_drs_disable (starpurm_drs_desc_t *spd) |
| int | starpurm_drs_enabled_p (void) |
| starpurm_drs_ret_t | starpurm_set_max_parallelism (starpurm_drs_desc_t *spd, int max) |
| starpurm_drs_ret_t | starpurm_assign_cpu_to_starpu (starpurm_drs_desc_t *spd, int cpuid) |
| starpurm_drs_ret_t | starpurm_assign_cpus_to_starpu (starpurm_drs_desc_t *spd, int ncpus) |
| starpurm_drs_ret_t | starpurm_assign_cpu_mask_to_starpu (starpurm_drs_desc_t *spd, const hwloc_cpuset_t mask) |
| starpurm_drs_ret_t | starpurm_assign_all_cpus_to_starpu (starpurm_drs_desc_t *spd) |
| starpurm_drs_ret_t | starpurm_withdraw_cpu_from_starpu (starpurm_drs_desc_t *spd, int cpuid) |
| starpurm_drs_ret_t | starpurm_withdraw_cpus_from_starpu (starpurm_drs_desc_t *spd, int ncpus) |
| starpurm_drs_ret_t | starpurm_withdraw_cpu_mask_from_starpu (starpurm_drs_desc_t *spd, const hwloc_cpuset_t mask) |
| starpurm_drs_ret_t | starpurm_withdraw_all_cpus_from_starpu (starpurm_drs_desc_t *spd) |
| starpurm_drs_ret_t | starpurm_lend (starpurm_drs_desc_t *spd) |
| starpurm_drs_ret_t | starpurm_lend_cpu (starpurm_drs_desc_t *spd, int cpuid) |
| starpurm_drs_ret_t | starpurm_lend_cpus (starpurm_drs_desc_t *spd, int ncpus) |
| starpurm_drs_ret_t | starpurm_lend_cpu_mask (starpurm_drs_desc_t *spd, const hwloc_cpuset_t mask) |
| starpurm_drs_ret_t | starpurm_reclaim (starpurm_drs_desc_t *spd) |
| starpurm_drs_ret_t | starpurm_reclaim_cpu (starpurm_drs_desc_t *spd, int cpuid) |
| starpurm_drs_ret_t | starpurm_reclaim_cpus (starpurm_drs_desc_t *spd, int ncpus) |
| starpurm_drs_ret_t | starpurm_reclaim_cpu_mask (starpurm_drs_desc_t *spd, const hwloc_cpuset_t mask) |
| starpurm_drs_ret_t | starpurm_acquire (starpurm_drs_desc_t *spd) |
| starpurm_drs_ret_t | starpurm_acquire_cpu (starpurm_drs_desc_t *spd, int cpuid) |
| starpurm_drs_ret_t | starpurm_acquire_cpus (starpurm_drs_desc_t *spd, int ncpus) |
| starpurm_drs_ret_t | starpurm_acquire_cpu_mask (starpurm_drs_desc_t *spd, const hwloc_cpuset_t mask) |
| starpurm_drs_ret_t | starpurm_return_all (starpurm_drs_desc_t *spd) |
| starpurm_drs_ret_t | starpurm_return_cpu (starpurm_drs_desc_t *spd, int cpuid) |
Devices | |
| int | starpurm_get_device_type_id (const char *type_str) |
| const char * | starpurm_get_device_type_name (int type_id) |
| int | starpurm_get_nb_devices_by_type (int type_id) |
| int | starpurm_get_device_id (int type_id, int device_rank) |
| starpurm_drs_ret_t | starpurm_assign_device_to_starpu (starpurm_drs_desc_t *spd, int type_id, int unit_rank) |
| starpurm_drs_ret_t | starpurm_assign_devices_to_starpu (starpurm_drs_desc_t *spd, int type_id, int ndevices) |
| starpurm_drs_ret_t | starpurm_assign_device_mask_to_starpu (starpurm_drs_desc_t *spd, const hwloc_cpuset_t mask) |
| starpurm_drs_ret_t | starpurm_assign_all_devices_to_starpu (starpurm_drs_desc_t *spd, int type_id) |
| starpurm_drs_ret_t | starpurm_withdraw_device_from_starpu (starpurm_drs_desc_t *spd, int type_id, int unit_rank) |
| starpurm_drs_ret_t | starpurm_withdraw_devices_from_starpu (starpurm_drs_desc_t *spd, int type_id, int ndevices) |
| starpurm_drs_ret_t | starpurm_withdraw_device_mask_from_starpu (starpurm_drs_desc_t *spd, const hwloc_cpuset_t mask) |
| starpurm_drs_ret_t | starpurm_withdraw_all_devices_from_starpu (starpurm_drs_desc_t *spd, int type_id) |
| starpurm_drs_ret_t | starpurm_lend_device (starpurm_drs_desc_t *spd, int type_id, int unit_rank) |
| starpurm_drs_ret_t | starpurm_lend_devices (starpurm_drs_desc_t *spd, int type_id, int ndevices) |
| starpurm_drs_ret_t | starpurm_lend_device_mask (starpurm_drs_desc_t *spd, const hwloc_cpuset_t mask) |
| starpurm_drs_ret_t | starpurm_lend_all_devices (starpurm_drs_desc_t *spd, int type_id) |
| starpurm_drs_ret_t | starpurm_reclaim_device (starpurm_drs_desc_t *spd, int type_id, int unit_rank) |
| starpurm_drs_ret_t | starpurm_reclaim_devices (starpurm_drs_desc_t *spd, int type_id, int ndevices) |
| starpurm_drs_ret_t | starpurm_reclaim_device_mask (starpurm_drs_desc_t *spd, const hwloc_cpuset_t mask) |
| starpurm_drs_ret_t | starpurm_reclaim_all_devices (starpurm_drs_desc_t *spd, int type_id) |
| starpurm_drs_ret_t | starpurm_acquire_device (starpurm_drs_desc_t *spd, int type_id, int unit_rank) |
| starpurm_drs_ret_t | starpurm_acquire_devices (starpurm_drs_desc_t *spd, int type_id, int ndevices) |
| starpurm_drs_ret_t | starpurm_acquire_device_mask (starpurm_drs_desc_t *spd, const hwloc_cpuset_t mask) |
| starpurm_drs_ret_t | starpurm_acquire_all_devices (starpurm_drs_desc_t *spd, int type_id) |
| starpurm_drs_ret_t | starpurm_return_all_devices (starpurm_drs_desc_t *spd, int type_id) |
| starpurm_drs_ret_t | starpurm_return_device (starpurm_drs_desc_t *spd, int type_id, int unit_rank) |
CpusetsQueries | |
| hwloc_cpuset_t | starpurm_get_device_worker_cpuset (int type_id, int unit_rank) |
| hwloc_cpuset_t | starpurm_get_global_cpuset (void) |
| hwloc_cpuset_t | starpurm_get_selected_cpuset (void) |
| hwloc_cpuset_t | starpurm_get_all_cpu_workers_cpuset (void) |
| hwloc_cpuset_t | starpurm_get_all_device_workers_cpuset (void) |
| hwloc_cpuset_t | starpurm_get_all_device_workers_cpuset_by_type (int typeid) |
API to interoperate with other runtime systems.
| enum e_starpurm_drs_ret |
StarPU Resource Manager return type.
| void starpurm_initialize_with_cpuset | ( | hwloc_cpuset_t | initially_owned_cpuset | ) |
Resource enforcement
| void starpurm_initialize | ( | void | ) |
Initialize StarPU and the StarPU-RM resource management module. The starpu_init() function should not have been called before the call to starpurm_initialize(). The starpurm_initialize() function will take care of this
| void starpurm_shutdown | ( | void | ) |
Shutdown StarPU-RM and StarPU. The starpu_shutdown() function should not be called before. The starpurm_shutdown() function will take care of this.
| void starpurm_spawn_kernel_on_cpus | ( | void * | data, |
| void(*)(void *) | f, | ||
| void * | args, | ||
| hwloc_cpuset_t | cpuset | ||
| ) |
Allocate a temporary context spanning the units selected in the cpuset bitmap, set it as the default context for the current thread, and call user function f. Upon the return of user function f, the temporary context is freed and the previous default context for the current thread is restored.
| void starpurm_spawn_kernel_on_cpus_callback | ( | void * | data, |
| void(*)(void *) | f, | ||
| void * | args, | ||
| hwloc_cpuset_t | cpuset, | ||
| void(*)(void *) | cb_f, | ||
| void * | cb_args | ||
| ) |
Spawn a POSIX thread and returns immediately. The thread spawned will allocate a temporary context spanning the units selected in the cpuset bitmap, set it as the default context for the current thread, and call user function f. Upon the return of user function f, the temporary context will be freed and the previous default context for the current thread restored. A user specified callback cb_f will be called just before the termination of the thread.
| starpurm_drs_ret_t starpurm_set_drs_enable | ( | starpurm_drs_desc_t * | spd | ) |
Turn-on dynamic resource sharing support.
| starpurm_drs_ret_t starpurm_set_drs_disable | ( | starpurm_drs_desc_t * | spd | ) |
Turn-off dynamic resource sharing support.
| int starpurm_drs_enabled_p | ( | void | ) |
Return the state of the dynamic resource sharing support (=!0 enabled, =0 disabled).
| starpurm_drs_ret_t starpurm_set_max_parallelism | ( | starpurm_drs_desc_t * | spd, |
| int | max | ||
| ) |
Set the maximum number of CPU computing units available for StarPU computations to max. This number cannot exceed the maximum number of StarPU's CPU worker allocated at start-up time.
| starpurm_drs_ret_t starpurm_assign_cpu_to_starpu | ( | starpurm_drs_desc_t * | spd, |
| int | cpuid | ||
| ) |
Extend StarPU's default scheduling context to execute tasks on worker corresponding to logical unit cpuid. If StarPU does not have a worker thread initialized for logical unit cpuid, do nothing.
| starpurm_drs_ret_t starpurm_assign_cpus_to_starpu | ( | starpurm_drs_desc_t * | spd, |
| int | ncpus | ||
| ) |
Extend StarPU's default scheduling context to execute tasks on ncpus more workers, up to the number of StarPU worker threads initialized.
| starpurm_drs_ret_t starpurm_assign_cpu_mask_to_starpu | ( | starpurm_drs_desc_t * | spd, |
| const hwloc_cpuset_t | mask | ||
| ) |
Extend StarPU's default scheduling context to execute tasks on the additional logical units selected in mask. Logical units of mask for which no StarPU worker is initialized are silently ignored.
| starpurm_drs_ret_t starpurm_assign_all_cpus_to_starpu | ( | starpurm_drs_desc_t * | spd | ) |
Set StarPU's default scheduling context to execute tasks on all available logical units for which a StarPU worker has been initialized.
| starpurm_drs_ret_t starpurm_withdraw_cpu_from_starpu | ( | starpurm_drs_desc_t * | spd, |
| int | cpuid | ||
| ) |
Shrink StarPU's default scheduling context so as to not execute tasks on worker corresponding to logical unit cpuid. If StarPU does not have a worker thread initialized for logical unit cpuid, do nothing.
| starpurm_drs_ret_t starpurm_withdraw_cpus_from_starpu | ( | starpurm_drs_desc_t * | spd, |
| int | ncpus | ||
| ) |
Shrink StarPU's default scheduling context to execute tasks on ncpus less workers.
| starpurm_drs_ret_t starpurm_withdraw_cpu_mask_from_starpu | ( | starpurm_drs_desc_t * | spd, |
| const hwloc_cpuset_t | mask | ||
| ) |
Shrink StarPU's default scheduling context so as to not execute tasks on the logical units selected in mask. Logical units of mask for which no StarPU worker is initialized are silently ignored.
| starpurm_drs_ret_t starpurm_withdraw_all_cpus_from_starpu | ( | starpurm_drs_desc_t * | spd | ) |
Shrink StarPU's default scheduling context so as to remove all logical units.
| starpurm_drs_ret_t starpurm_lend | ( | starpurm_drs_desc_t * | spd | ) |
Synonym for starpurm_assign_all_cpus_to_starpu().
| starpurm_drs_ret_t starpurm_lend_cpu | ( | starpurm_drs_desc_t * | spd, |
| int | cpuid | ||
| ) |
Synonym for starpurm_assign_cpu_to_starpu().
| starpurm_drs_ret_t starpurm_lend_cpus | ( | starpurm_drs_desc_t * | spd, |
| int | ncpus | ||
| ) |
Synonym for starpurm_assign_cpus_to_starpu().
| starpurm_drs_ret_t starpurm_lend_cpu_mask | ( | starpurm_drs_desc_t * | spd, |
| const hwloc_cpuset_t | mask | ||
| ) |
Synonym for starpurm_assign_cpu_mask_to_starpu().
| starpurm_drs_ret_t starpurm_reclaim | ( | starpurm_drs_desc_t * | spd | ) |
Synonym for starpurm_withdraw_all_cpus_from_starpu().
| starpurm_drs_ret_t starpurm_reclaim_cpu | ( | starpurm_drs_desc_t * | spd, |
| int | cpuid | ||
| ) |
Synonym for starpurm_withdraw_cpu_from_starpu().
| starpurm_drs_ret_t starpurm_reclaim_cpus | ( | starpurm_drs_desc_t * | spd, |
| int | ncpus | ||
| ) |
Synonym for starpurm_withdraw_cpus_from_starpu().
| starpurm_drs_ret_t starpurm_reclaim_cpu_mask | ( | starpurm_drs_desc_t * | spd, |
| const hwloc_cpuset_t | mask | ||
| ) |
Synonym for starpurm_withdraw_cpu_mask_from_starpu().
| starpurm_drs_ret_t starpurm_acquire | ( | starpurm_drs_desc_t * | spd | ) |
Synonym for starpurm_withdraw_all_cpus_from_starpu().
| starpurm_drs_ret_t starpurm_acquire_cpu | ( | starpurm_drs_desc_t * | spd, |
| int | cpuid | ||
| ) |
Synonym for starpurm_withdraw_cpu_from_starpu().
| starpurm_drs_ret_t starpurm_acquire_cpus | ( | starpurm_drs_desc_t * | spd, |
| int | ncpus | ||
| ) |
Synonym for starpurm_withdraw_cpus_from_starpu().
| starpurm_drs_ret_t starpurm_acquire_cpu_mask | ( | starpurm_drs_desc_t * | spd, |
| const hwloc_cpuset_t | mask | ||
| ) |
Synonym for starpurm_withdraw_cpu_mask_from_starpu().
| starpurm_drs_ret_t starpurm_return_all | ( | starpurm_drs_desc_t * | spd | ) |
Synonym for starpurm_assign_all_cpus_to_starpu().
| starpurm_drs_ret_t starpurm_return_cpu | ( | starpurm_drs_desc_t * | spd, |
| int | cpuid | ||
| ) |
Synonym for starpurm_assign_cpu_to_starpu().
| int starpurm_get_device_type_id | ( | const char * | type_str | ) |
Return the device type ID constant associated to the device type name. Valid names for type_str are:
"cpu": regular CPU unit;"opencl": OpenCL device unit;"cuda": nVidia CUDA device unit; | const char * starpurm_get_device_type_name | ( | int | type_id | ) |
Return the device type name associated to the device type ID constant.
| int starpurm_get_nb_devices_by_type | ( | int | type_id | ) |
Return the number of initialized StarPU worker for the device type type_id.
| int starpurm_get_device_id | ( | int | type_id, |
| int | device_rank | ||
| ) |
Return the unique ID assigned to the device_rank nth device of type type_id.
| starpurm_drs_ret_t starpurm_assign_device_to_starpu | ( | starpurm_drs_desc_t * | spd, |
| int | type_id, | ||
| int | unit_rank | ||
| ) |
Extend StarPU's default scheduling context to use unit_rank nth device of type type_id.
| starpurm_drs_ret_t starpurm_assign_devices_to_starpu | ( | starpurm_drs_desc_t * | spd, |
| int | type_id, | ||
| int | ndevices | ||
| ) |
Extend StarPU's default scheduling context to use ndevices more devices of type type_id, up to the number of StarPU workers initialized for such device type.
| starpurm_drs_ret_t starpurm_assign_device_mask_to_starpu | ( | starpurm_drs_desc_t * | spd, |
| const hwloc_cpuset_t | mask | ||
| ) |
Extend StarPU's default scheduling context to use additional devices as designated by their corresponding StarPU worker thread(s) CPU-set mask.
| starpurm_drs_ret_t starpurm_assign_all_devices_to_starpu | ( | starpurm_drs_desc_t * | spd, |
| int | type_id | ||
| ) |
Extend StarPU's default scheduling context to use all devices of type type_id for which it has a worker thread initialized.
| starpurm_drs_ret_t starpurm_withdraw_device_from_starpu | ( | starpurm_drs_desc_t * | spd, |
| int | type_id, | ||
| int | unit_rank | ||
| ) |
Shrink StarPU's default scheduling context to not use unit_rank nth device of type type_id.
| starpurm_drs_ret_t starpurm_withdraw_devices_from_starpu | ( | starpurm_drs_desc_t * | spd, |
| int | type_id, | ||
| int | ndevices | ||
| ) |
Shrink StarPU's default scheduling context to use ndevices less devices of type type_id.
| starpurm_drs_ret_t starpurm_withdraw_device_mask_from_starpu | ( | starpurm_drs_desc_t * | spd, |
| const hwloc_cpuset_t | mask | ||
| ) |
Shrink StarPU's default scheduling context to not use devices designated by their corresponding StarPU worker thread(s) CPU-set mask.
| starpurm_drs_ret_t starpurm_withdraw_all_devices_from_starpu | ( | starpurm_drs_desc_t * | spd, |
| int | type_id | ||
| ) |
Shrink StarPU's default scheduling context to use no devices of type type_id.
| starpurm_drs_ret_t starpurm_lend_device | ( | starpurm_drs_desc_t * | spd, |
| int | type_id, | ||
| int | unit_rank | ||
| ) |
Synonym for starpurm_assign_device_to_starpu().
| starpurm_drs_ret_t starpurm_lend_devices | ( | starpurm_drs_desc_t * | spd, |
| int | type_id, | ||
| int | ndevices | ||
| ) |
Synonym for starpurm_assign_devices_to_starpu().
| starpurm_drs_ret_t starpurm_lend_device_mask | ( | starpurm_drs_desc_t * | spd, |
| const hwloc_cpuset_t | mask | ||
| ) |
Synonym for starpurm_assign_device_mask_to_starpu().
| starpurm_drs_ret_t starpurm_lend_all_devices | ( | starpurm_drs_desc_t * | spd, |
| int | type_id | ||
| ) |
Synonym for starpurm_assign_all_devices_to_starpu().
| starpurm_drs_ret_t starpurm_reclaim_device | ( | starpurm_drs_desc_t * | spd, |
| int | type_id, | ||
| int | unit_rank | ||
| ) |
Synonym for starpurm_withdraw_device_from_starpu().
| starpurm_drs_ret_t starpurm_reclaim_devices | ( | starpurm_drs_desc_t * | spd, |
| int | type_id, | ||
| int | ndevices | ||
| ) |
Synonym for starpurm_withdraw_devices_from_starpu().
| starpurm_drs_ret_t starpurm_reclaim_device_mask | ( | starpurm_drs_desc_t * | spd, |
| const hwloc_cpuset_t | mask | ||
| ) |
Synonym for starpurm_withdraw_device_mask_from_starpu().
| starpurm_drs_ret_t starpurm_reclaim_all_devices | ( | starpurm_drs_desc_t * | spd, |
| int | type_id | ||
| ) |
Synonym for starpurm_withdraw_all_devices_from_starpu().
| starpurm_drs_ret_t starpurm_acquire_device | ( | starpurm_drs_desc_t * | spd, |
| int | type_id, | ||
| int | unit_rank | ||
| ) |
Synonym for starpurm_withdraw_device_from_starpu().
| starpurm_drs_ret_t starpurm_acquire_devices | ( | starpurm_drs_desc_t * | spd, |
| int | type_id, | ||
| int | ndevices | ||
| ) |
Synonym for starpurm_withdraw_devices_from_starpu().
| starpurm_drs_ret_t starpurm_acquire_device_mask | ( | starpurm_drs_desc_t * | spd, |
| const hwloc_cpuset_t | mask | ||
| ) |
Synonym for starpurm_withdraw_device_mask_from_starpu().
| starpurm_drs_ret_t starpurm_acquire_all_devices | ( | starpurm_drs_desc_t * | spd, |
| int | type_id | ||
| ) |
Synonym for starpurm_withdraw_all_devices_from_starpu().
| starpurm_drs_ret_t starpurm_return_all_devices | ( | starpurm_drs_desc_t * | spd, |
| int | type_id | ||
| ) |
Synonym for starpurm_assign_all_devices_to_starpu().
| starpurm_drs_ret_t starpurm_return_device | ( | starpurm_drs_desc_t * | spd, |
| int | type_id, | ||
| int | unit_rank | ||
| ) |
Synonym for starpurm_assign_device_to_starpu().
| hwloc_cpuset_t starpurm_get_device_worker_cpuset | ( | int | type_id, |
| int | unit_rank | ||
| ) |
Return the CPU-set of the StarPU worker associated to the unit_rank nth unit of type type_id.
| hwloc_cpuset_t starpurm_get_global_cpuset | ( | void | ) |
Return the cumulated CPU-set of all StarPU worker threads.
| hwloc_cpuset_t starpurm_get_selected_cpuset | ( | void | ) |
Return the CPU-set of the StarPU worker threads currently selected in the default StarPU's scheduling context.
| hwloc_cpuset_t starpurm_get_all_cpu_workers_cpuset | ( | void | ) |
Return the cumulated CPU-set of all CPU StarPU worker threads.
| hwloc_cpuset_t starpurm_get_all_device_workers_cpuset | ( | void | ) |
Return the cumulated CPU-set of all "non-CPU" StarPU worker threads.
| hwloc_cpuset_t starpurm_get_all_device_workers_cpuset_by_type | ( | int | typeid | ) |
Return the cumulated CPU-set of all StarPU worker threads for devices of type typeid.