StarPU Handbook - StarPU Basics
starpu_thread.h File Reference
#include <starpu_config.h>
#include <starpu_util.h>
#include <pthread.h>
#include <xbt/synchro_core.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  starpu_pthread_attr_t
 
struct  starpu_pthread_barrier_t
 
struct  starpu_pthread_spinlock_t
 
struct  starpu_pthread_wait_t
 
struct  starpu_pthread_queue_t
 

Macros

#define starpu_pthread_setname(name)
 
#define STARPU_PTHREAD_MUTEX_INITIALIZER
 
#define STARPU_PTHREAD_COND_INITIALIZER
 
#define STARPU_PTHREAD_RWLOCK_INITIALIZER
 
#define STARPU_PTHREAD_BARRIER_SERIAL_THREAD
 

Typedefs

typedef msg_process_t starpu_pthread_t
 
typedef msg_host_t starpu_sg_host_t
 
typedef xbt_mutex_t starpu_pthread_mutex_t
 
typedef int starpu_pthread_mutexattr_t
 
typedef int starpu_pthread_key_t
 
typedef xbt_cond_t starpu_pthread_cond_t
 
typedef int starpu_pthread_condattr_t
 
typedef xbt_mutex_t starpu_pthread_rwlock_t
 
typedef int starpu_pthread_rwlockattr_t
 
typedef int starpu_pthread_barrierattr_t
 
typedef msg_sem_t starpu_sem_t
 

Functions

int starpu_pthread_equal (starpu_pthread_t t1, starpu_pthread_t t2)
 
starpu_pthread_t starpu_pthread_self (void)
 
int starpu_pthread_create_on (const char *name, starpu_pthread_t *thread, const starpu_pthread_attr_t *attr, void *(*start_routine)(void *), void *arg, starpu_sg_host_t host)
 
int starpu_pthread_create (starpu_pthread_t *thread, const starpu_pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)
 
starpu_pthread_t _starpu_simgrid_actor_create (const char *name, xbt_main_func_t code, starpu_sg_host_t host, int argc, char *argv[])
 
int starpu_pthread_join (starpu_pthread_t thread, void **retval)
 
int starpu_pthread_detach (starpu_pthread_t thread)
 
int starpu_pthread_exit (void *retval) STARPU_ATTRIBUTE_NORETURN
 
int starpu_pthread_attr_init (starpu_pthread_attr_t *attr)
 
int starpu_pthread_attr_destroy (starpu_pthread_attr_t *attr)
 
int starpu_pthread_attr_setdetachstate (starpu_pthread_attr_t *attr, int detachstate)
 
int starpu_pthread_attr_setstacksize (starpu_pthread_attr_t *attr, size_t stacksize)
 
int starpu_pthread_mutex_init (starpu_pthread_mutex_t *mutex, const starpu_pthread_mutexattr_t *mutexattr)
 
int starpu_pthread_mutex_destroy (starpu_pthread_mutex_t *mutex)
 
int starpu_pthread_mutex_lock (starpu_pthread_mutex_t *mutex)
 
int starpu_pthread_mutex_unlock (starpu_pthread_mutex_t *mutex)
 
int starpu_pthread_mutex_trylock (starpu_pthread_mutex_t *mutex)
 
int starpu_pthread_mutexattr_gettype (const starpu_pthread_mutexattr_t *attr, int *type)
 
int starpu_pthread_mutexattr_settype (starpu_pthread_mutexattr_t *attr, int type)
 
int starpu_pthread_mutexattr_destroy (starpu_pthread_mutexattr_t *attr)
 
int starpu_pthread_mutexattr_init (starpu_pthread_mutexattr_t *attr)
 
int starpu_pthread_mutex_lock_sched (starpu_pthread_mutex_t *mutex)
 
int starpu_pthread_mutex_unlock_sched (starpu_pthread_mutex_t *mutex)
 
int starpu_pthread_mutex_trylock_sched (starpu_pthread_mutex_t *mutex)
 
void starpu_pthread_mutex_check_sched (starpu_pthread_mutex_t *mutex, char *file, int line)
 
int starpu_pthread_key_create (starpu_pthread_key_t *key, void(*destr_function)(void *))
 
int starpu_pthread_key_delete (starpu_pthread_key_t key)
 
int starpu_pthread_setspecific (starpu_pthread_key_t key, const void *pointer)
 
void * starpu_pthread_getspecific (starpu_pthread_key_t key)
 
int starpu_pthread_cond_init (starpu_pthread_cond_t *cond, starpu_pthread_condattr_t *cond_attr)
 
int starpu_pthread_cond_signal (starpu_pthread_cond_t *cond)
 
int starpu_pthread_cond_broadcast (starpu_pthread_cond_t *cond)
 
int starpu_pthread_cond_wait (starpu_pthread_cond_t *cond, starpu_pthread_mutex_t *mutex)
 
int starpu_pthread_cond_timedwait (starpu_pthread_cond_t *cond, starpu_pthread_mutex_t *mutex, const struct timespec *abstime)
 
int starpu_pthread_cond_destroy (starpu_pthread_cond_t *cond)
 
int starpu_pthread_rwlock_init (starpu_pthread_rwlock_t *rwlock, const starpu_pthread_rwlockattr_t *attr)
 
int starpu_pthread_rwlock_destroy (starpu_pthread_rwlock_t *rwlock)
 
int starpu_pthread_rwlock_rdlock (starpu_pthread_rwlock_t *rwlock)
 
int starpu_pthread_rwlock_tryrdlock (starpu_pthread_rwlock_t *rwlock)
 
int starpu_pthread_rwlock_wrlock (starpu_pthread_rwlock_t *rwlock)
 
int starpu_pthread_rwlock_trywrlock (starpu_pthread_rwlock_t *rwlock)
 
int starpu_pthread_rwlock_unlock (starpu_pthread_rwlock_t *rwlock)
 
int starpu_pthread_barrier_init (starpu_pthread_barrier_t *barrier, const starpu_pthread_barrierattr_t *attr, unsigned count)
 
int starpu_pthread_barrier_destroy (starpu_pthread_barrier_t *barrier)
 
int starpu_pthread_barrier_wait (starpu_pthread_barrier_t *barrier)
 
int starpu_pthread_spin_init (starpu_pthread_spinlock_t *lock, int pshared)
 
int starpu_pthread_spin_destroy (starpu_pthread_spinlock_t *lock)
 
int starpu_pthread_spin_lock (starpu_pthread_spinlock_t *lock)
 
int starpu_pthread_spin_trylock (starpu_pthread_spinlock_t *lock)
 
int starpu_pthread_spin_unlock (starpu_pthread_spinlock_t *lock)
 
int starpu_pthread_queue_init (starpu_pthread_queue_t *q)
 
int starpu_pthread_queue_signal (starpu_pthread_queue_t *q)
 
int starpu_pthread_queue_broadcast (starpu_pthread_queue_t *q)
 
int starpu_pthread_queue_destroy (starpu_pthread_queue_t *q)
 
int starpu_pthread_wait_init (starpu_pthread_wait_t *w)
 
int starpu_pthread_queue_register (starpu_pthread_wait_t *w, starpu_pthread_queue_t *q)
 
int starpu_pthread_queue_unregister (starpu_pthread_wait_t *w, starpu_pthread_queue_t *q)
 
int starpu_pthread_wait_reset (starpu_pthread_wait_t *w)
 
int starpu_pthread_wait_wait (starpu_pthread_wait_t *w)
 
int starpu_pthread_wait_timedwait (starpu_pthread_wait_t *w, const struct timespec *abstime)
 
int starpu_pthread_wait_destroy (starpu_pthread_wait_t *w)
 
int starpu_sem_destroy (starpu_sem_t *sem)
 
int starpu_sem_getvalue (starpu_sem_t *sem, int *retval)
 
int starpu_sem_init (starpu_sem_t *sem, int pshared, unsigned value)
 
int starpu_sem_post (starpu_sem_t *sem)
 
int starpu_sem_trywait (starpu_sem_t *sem)
 
int starpu_sem_wait (starpu_sem_t *sem)
 

Data Structure Documentation

◆ starpu_pthread_attr_t

struct starpu_pthread_attr_t
Data Fields
size_t stacksize

◆ starpu_pthread_barrier_t

struct starpu_pthread_barrier_t
Data Fields
starpu_pthread_mutex_t mutex
starpu_pthread_cond_t cond
starpu_pthread_cond_t cond_destroy
unsigned count
unsigned done
unsigned busy

◆ starpu_pthread_spinlock_t

struct starpu_pthread_spinlock_t
Data Fields
int taken

◆ starpu_pthread_wait_t

struct starpu_pthread_wait_t
Data Fields
starpu_pthread_mutex_t mutex
starpu_pthread_cond_t cond
unsigned block

◆ starpu_pthread_queue_t

struct starpu_pthread_queue_t
Data Fields
starpu_pthread_mutex_t mutex
starpu_pthread_wait_t ** queue
unsigned allocqueue
unsigned nqueue