Generic Lightweight Thread (GLT) Library  2.5
A common API for Lightweight Thread solutions
 All Functions Variables Groups Pages
Functions
Scheduler functions

Functions

void glt_scheduler_config_free (GLT_sched_config *config)
 Destroys the scheduler configuration. More...
 
void glt_scheduler_create (GLT_sched_def *def, int num_threads, int *threads_id, GLT_sched_config config, GLT_sched *newsched)
 Creates a new scheduler. More...
 
void glt_schededuler_create_basic (GLT_sched_predef predef, int num_threads, int *threads_id, GLT_sched_config config, GLT_sched *newsched)
 Creates a new scheduler with predefined behaviour. More...
 
void glt_scheduler_free (GLT_sched *sched)
 Destroys a scheduler. More...
 
void glt_scheduler_finish (GLT_sched sched)
 Finalizes a scheduler. More...
 
void glt_scheduler_exit (GLT_sched sched)
 Stops a scheduler. More...
 
void glt_scheduler_has_to_stop (GLT_sched sched, GLT_bool *stop)
 Requires to a scheduler to stop. More...
 
void glt_scheduler_set_data (GLT_sched sched, void *data)
 Sets new data to a scheduler. More...
 
void glt_scheduler_get_data (GLT_sched sched, void **data)
 gets data from a scheduler. More...
 
void glt_scheduler_get_size (GLT_sched sched, size_t *size)
 gets the current size from the scheduler. More...
 
void glt_scheduler_get_total_size (GLT_sched sched, size_t *size)
 gets the total size from the scheduler. More...
 

Detailed Description

These functions manages the configurable scheduler (just with Argobots).

Function Documentation

void glt_schededuler_create_basic ( GLT_sched_predef  predef,
int  num_threads,
int *  threads_id,
GLT_sched_config  config,
GLT_sched newsched 
)

Creates a new scheduler with predefined behaviour.

glt_schededuler_create_basic() creates a new scheduler for some threads with a predefined behaviour.

Parameters
[in]defHandle of the target GLT_sched_predef.
[in]num_threadsnumber of GLT_thread affected by this scheduler.
[in]threads_idpointer to an array of GLT_threads_id.
[in]configHandle of the target GLT_sched_config.
[out]newschedHandle of new GLT_sched.
void glt_scheduler_config_free ( GLT_sched_config config)

Destroys the scheduler configuration.

glt_scheduler_config_free() deletes the scheduler configuration.

Parameters
[in]configHandle of the target GLT_sched_config.
void glt_scheduler_create ( GLT_sched_def def,
int  num_threads,
int *  threads_id,
GLT_sched_config  config,
GLT_sched newsched 
)

Creates a new scheduler.

glt_scheduler_create() creates a new scheduler for some threads.

Parameters
[in]defHandle of the target GLT_sched_def.
[in]num_threadsnumber of GLT_thread affected by this scheduler.
[in]threads_idpointer to an array of GLT_threads_id.
[in]configHandle of the target GLT_sched_config.
[out]newschedHandle of new GLT_sched.
void glt_scheduler_exit ( GLT_sched  sched)

Stops a scheduler.

glt_scheduler_exit() Stops a scheduler.

Parameters
[in]schedHandle of the target GLT_sched.
void glt_scheduler_finish ( GLT_sched  sched)

Finalizes a scheduler.

glt_scheduler_finish() finalizes a scheduler.

Parameters
[in]schedHandle of the target GLT_sched.
void glt_scheduler_free ( GLT_sched sched)

Destroys a scheduler.

glt_scheduler_free() destroys a scheduler.

Parameters
[in]schedHandle of the target GLT_sched.
void glt_scheduler_get_data ( GLT_sched  sched,
void **  data 
)

gets data from a scheduler.

glt_scheduler_get_data() gets data from a scheduler.

Parameters
[in]schedHandle of the target GLT_sched.
[out]dataobtained.
void glt_scheduler_get_size ( GLT_sched  sched,
size_t *  size 
)

gets the current size from the scheduler.

glt_scheduler_get_size() gets size from a scheduler.

Parameters
[in]schedHandle of the target GLT_sched.
[out]sizeobtained.
void glt_scheduler_get_total_size ( GLT_sched  sched,
size_t *  size 
)

gets the total size from the scheduler.

glt_scheduler_get_total_size() gets the total size from a scheduler.

Parameters
[in]schedHandle of the target GLT_sched.
[out]sizeobtained.
void glt_scheduler_has_to_stop ( GLT_sched  sched,
GLT_bool stop 
)

Requires to a scheduler to stop.

glt_scheduler_has_to_stop() Requires a scheduler to stop.

Parameters
[in]schedHandle of the target GLT_sched.
[out]stopshows the answer of the scheduler.
void glt_scheduler_set_data ( GLT_sched  sched,
void *  data 
)

Sets new data to a scheduler.

glt_scheduler_set_data() Sets data to a scheduler.

Parameters
[in]schedHandle of the target GLT_sched.
[in]datato be set.