123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314 |
- /*
- * This file is part of the StarPU Handbook.
- * Copyright (C) 2014 Inria
- * See the file version.doxy for copying conditions.
- */
- /*! \defgroup API_OpenMP_Runtime_Support OpenMP Runtime Support
- @name Initialisation
- \ingroup API_OpenMP_Runtime_Support
- \def STARPU_OPENMP
- \ingroup API_OpenMP_Runtime_Support
- This macro is defined when StarPU has been installed with OpenMP Runtime
- support. It should be used in your code to detect the availability of
- the runtime support for OpenMP.
- \fn int starpu_omp_init(void)
- \ingroup API_OpenMP_Runtime_Support
- Initializes StarPU and its OpenMP Runtime support.
- \fn int starpu_omp_shutdown(void)
- \ingroup API_OpenMP_Runtime_Support
- Shutdown StarPU and its OpenMP Runtime support.
- @name Parallel
- \anchor ORS_Parallel
- \ingroup API_OpenMP_Runtime_Support
- \fn void starpu_omp_parallel_region(const struct starpu_omp_parallel_region_attr *attr)
- \ingroup API_OpenMP_Runtime_Support
- Generates and launch an OpenMP parallel region and return after its
- completion. \p attr specifies the attributes for the generated parallel region.
- If this function is called from inside another, generating, parallel region, the
- generated parallel region is nested within the generating parallel region. This
- function can be used to implement <c>pragma omp parallel</c>.
- \fn void starpu_omp_master(void (*f)(void *arg), void *arg)
- \ingroup API_OpenMP_Runtime_Support
- Executes a function only on the master thread of the OpenMP
- parallel region it is called from. When called from a thread that is not the
- master of the parallel region it is called from, this function does nothing. \p
- f is the function to be called. \p arg is an argument passed to \p arg. This
- function can be used to implement <c>pragma omp master</c>.
- \fn int starpu_omp_master_inline(void)
- \ingroup API_OpenMP_Runtime_Support
- Returns whether the calling thread is the master of the OpenMP parallel region
- it is called from or not. This function can be used to implement <c>pragma omp
- master</c> without code outlining.
- @name Synchronization
- \anchor ORS_Synchronization
- \ingroup API_OpenMP_Runtime_Support
- \fn void starpu_omp_barrier(void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_critical(void (*f)(void *arg), void *arg, const char *name)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_critical_inline_begin(const char *name)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_critical_inline_end(const char *name)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- @name Worksharing
- \anchor ORS_Worksharing
- \ingroup API_OpenMP_Runtime_Support
- \fn void starpu_omp_single(void (*f)(void *arg), void *arg, int nowait)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_single_inline(void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_for(void (*f)(unsigned long long _first_i, unsigned long long _nb_i, void *arg), void *arg, unsigned long long nb_iterations, unsigned long long chunk, int schedule, int ordered, int nowait)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_for_inline_first(unsigned long long nb_iterations, unsigned long long chunk, int schedule, int ordered, unsigned long long *_first_i, unsigned long long *_nb_i)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_for_inline_next(unsigned long long nb_iterations, unsigned long long chunk, int schedule, int ordered, unsigned long long *_first_i, unsigned long long *_nb_i)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_for_alt(void (*f)(unsigned long long _begin_i, unsigned long long _end_i, void *arg), void *arg, unsigned long long nb_iterations, unsigned long long chunk, int schedule, int ordered, int nowait)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_for_inline_first_alt(unsigned long long nb_iterations, unsigned long long chunk, int schedule, int ordered, unsigned long long *_begin_i, unsigned long long *_end_i)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_for_inline_next_alt(unsigned long long nb_iterations, unsigned long long chunk, int schedule, int ordered, unsigned long long *_begin_i, unsigned long long *_end_i)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_ordered_inline_begin(void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_ordered_inline_end(void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_ordered(void (*f)(void *arg), void *arg)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_sections(unsigned long long nb_sections, void (**section_f)(void *arg), void **section_arg, int nowait)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_sections_combined(unsigned long long nb_sections, void (*section_f)(unsigned long long section_num, void *arg), void **section_arg, int nowait)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- @name Task
- \anchor ORS_Task
- \ingroup API_OpenMP_Runtime_Support
- \fn void starpu_omp_task_region(const struct starpu_omp_task_region_attr *attr)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_taskwait(void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_taskgroup(void (*f)(void *arg), void *arg)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- @name API
- \anchor ORS_API
- \ingroup API_OpenMP_Runtime_Support
- \fn void starpu_omp_set_num_threads(int threads)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_num_threads()
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_thread_num()
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_max_threads()
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_num_procs (void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_in_parallel (void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_set_dynamic (int dynamic_threads)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_dynamic (void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_set_nested (int nested)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_nested (void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_cancellation(void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_set_schedule (enum starpu_omp_sched_value kind, int modifier)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_get_schedule (enum starpu_omp_sched_value *kind, int *modifier)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_thread_limit (void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_set_max_active_levels (int max_levels)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_max_active_levels (void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_level (void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_ancestor_thread_num (int level)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_team_size (int level)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_active_level (void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_in_final(void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn enum starpu_omp_proc_bind_value starpu_omp_get_proc_bind(void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_set_default_device(int device_num)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_default_device(void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_num_devices(void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_num_teams(void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_get_team_num(void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_is_initial_device(void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_init_lock (starpu_omp_lock_t *lock)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_destroy_lock (starpu_omp_lock_t *lock)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_set_lock (starpu_omp_lock_t *lock)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_unset_lock (starpu_omp_lock_t *lock)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_test_lock (starpu_omp_lock_t *lock)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_init_nest_lock (starpu_omp_nest_lock_t *lock)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_destroy_nest_lock (starpu_omp_nest_lock_t *lock)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_set_nest_lock (starpu_omp_nest_lock_t *lock)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn void starpu_omp_unset_nest_lock (starpu_omp_nest_lock_t *lock)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn int starpu_omp_test_nest_lock (starpu_omp_nest_lock_t *lock)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn double starpu_omp_get_wtime (void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- \fn double starpu_omp_get_wtick (void)
- \ingroup API_OpenMP_Runtime_Support
- This function .
- */
|