SimGrid  3.14.159
Versatile Simulation of Distributed Systems
sd_task.cpp File Reference

Functions

 XBT_LOG_NEW_DEFAULT_SUBCATEGORY (sd_task, sd, "Logging specific to SimDag (task)")
 
static void __SD_task_destroy_scheduling_data (SD_task_t task)
 
SD_task_t SD_task_create (const char *name, void *data, double amount)
 Creates a new task. More...
 
static SD_task_t SD_task_create_sized (const char *name, void *data, double amount, int count)
 
SD_task_t SD_task_create_comm_e2e (const char *name, void *data, double amount)
 create a end-to-end communication task that can then be auto-scheduled More...
 
SD_task_t SD_task_create_comp_seq (const char *name, void *data, double flops_amount)
 create a sequential computation task that can then be auto-scheduled More...
 
SD_task_t SD_task_create_comp_par_amdahl (const char *name, void *data, double flops_amount, double alpha)
 create a parallel computation task that can then be auto-scheduled More...
 
SD_task_t SD_task_create_comm_par_mxn_1d_block (const char *name, void *data, double amount)
 create a complex data redistribution task that can then be auto-scheduled More...
 
void SD_task_destroy (SD_task_t task)
 Destroys a task. More...
 
voidSD_task_get_data (SD_task_t task)
 Returns the user data of a task. More...
 
void SD_task_set_data (SD_task_t task, void *data)
 Sets the user data of a task. More...
 
void SD_task_set_rate (SD_task_t task, double rate)
 Sets the rate of a task. More...
 
e_SD_task_state_t SD_task_get_state (SD_task_t task)
 Returns the state of a task. More...
 
void SD_task_set_state (SD_task_t task, e_SD_task_state_t new_state)
 
const char * SD_task_get_name (SD_task_t task)
 Returns the name of a task. More...
 
void SD_task_set_name (SD_task_t task, const char *name)
 Allows to change the name of a task. More...
 
xbt_dynar_t SD_task_get_parents (SD_task_t task)
 Returns the dynar of the parents of a task. More...
 
xbt_dynar_t SD_task_get_children (SD_task_t task)
 Returns the dynar of the parents of a task. More...
 
int SD_task_get_workstation_count (SD_task_t task)
 Returns the number of workstations involved in a task. More...
 
sg_host_tSD_task_get_workstation_list (SD_task_t task)
 Returns the list of workstations involved in a task. More...
 
double SD_task_get_amount (SD_task_t task)
 Returns the total amount of work contained in a task. More...
 
void SD_task_set_amount (SD_task_t task, double amount)
 Sets the total amount of work of a task For sequential typed tasks (COMP_SEQ and COMM_E2E), it also sets the appropriate values in the flops_amount and bytes_amount arrays respectively. More...
 
double SD_task_get_alpha (SD_task_t task)
 Returns the alpha parameter of a SD_TASK_COMP_PAR_AMDAHL task. More...
 
double SD_task_get_remaining_amount (SD_task_t task)
 Returns the remaining amount work to do till the completion of a task. More...
 
e_SD_task_kind_t SD_task_get_kind (SD_task_t task)
 
void SD_task_dump (SD_task_t task)
 Displays debugging information about a task. More...
 
void SD_task_dotty (SD_task_t task, void *out)
 Dumps the task in dotty formalism into the FILE* passed as second argument. More...
 
void SD_task_dependency_add (const char *name, void *data, SD_task_t src, SD_task_t dst)
 Adds a dependency between two tasks. More...
 
int SD_task_dependency_exists (SD_task_t src, SD_task_t dst)
 Indicates whether there is a dependency between two tasks. More...
 
void SD_task_dependency_remove (SD_task_t src, SD_task_t dst)
 Remove a dependency between two tasks. More...
 
void SD_task_watch (SD_task_t task, e_SD_task_state_t state)
 Adds a watch point to a task. More...
 
void SD_task_unwatch (SD_task_t task, e_SD_task_state_t state)
 Removes a watch point from a task. More...
 
double SD_task_get_execution_time (SD_task_t task, int host_count, const sg_host_t *host_list, const double *flops_amount, const double *bytes_amount)
 Returns an approximative estimation of the execution time of a task. More...
 
static void SD_task_do_schedule (SD_task_t task)
 
void SD_task_schedule (SD_task_t task, int host_count, const sg_host_t *host_list, const double *flops_amount, const double *bytes_amount, double rate)
 Schedules a task. More...
 
void SD_task_unschedule (SD_task_t task)
 Unschedules a task. More...
 
void SD_task_run (SD_task_t task)
 
double SD_task_get_start_time (SD_task_t task)
 Returns the start time of a task. More...
 
double SD_task_get_finish_time (SD_task_t task)
 Returns the finish time of a task. More...
 
void SD_task_distribute_comp_amdahl (SD_task_t task, int count)
 
void SD_task_build_MxN_1D_block_matrix (SD_task_t task, int src_nb, int dst_nb)
 
void SD_task_schedulev (SD_task_t task, int count, const sg_host_t *list)
 Auto-schedules a task. More...
 
void SD_task_schedulel (SD_task_t task, int count,...)
 autoschedule a task on a list of hosts More...
 

Function Documentation

§ XBT_LOG_NEW_DEFAULT_SUBCATEGORY()

XBT_LOG_NEW_DEFAULT_SUBCATEGORY ( sd_task  ,
sd  ,
"Logging specific to SimDag (task)"   
)

§ __SD_task_destroy_scheduling_data()

static void __SD_task_destroy_scheduling_data ( SD_task_t  task)
static

§ SD_task_create_sized()

static SD_task_t SD_task_create_sized ( const char *  name,
void data,
double  amount,
int  count 
)
inlinestatic

§ SD_task_set_state()

void SD_task_set_state ( SD_task_t  task,
e_SD_task_state_t  new_state 
)

§ SD_task_do_schedule()

static void SD_task_do_schedule ( SD_task_t  task)
inlinestatic

§ SD_task_run()

void SD_task_run ( SD_task_t  task)