Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
bugfixes to make the dax loader and typed task scheduler work
[simgrid.git] / include / simdag / simdag.h
index a99999a..2b5e2dd 100644 (file)
@@ -12,9 +12,9 @@ SG_BEGIN_DECL()
 /************************** Link handling ***********************************/
 /** @defgroup SD_link_management Links
  *  @brief Functions for managing the network links
- * 
+ *
  *  This section describes the functions for managing the network links.
- *  
+ *
  *  A link is a network node represented as a <em>name</em>, a <em>current
  *  bandwidth</em> and a <em>current latency</em>. The links are created
  *  when you call the function SD_create_environment.
@@ -31,19 +31,15 @@ XBT_PUBLIC(double) SD_link_get_current_bandwidth(SD_link_t link);
 XBT_PUBLIC(double) SD_link_get_current_latency(SD_link_t link);
 XBT_PUBLIC(e_SD_link_sharing_policy_t) SD_link_get_sharing_policy(SD_link_t
                                                                   link);
-/*property handling functions*/
-XBT_PUBLIC(xbt_dict_t) SD_link_get_properties(SD_link_t link);
-XBT_PUBLIC(const char *) SD_link_get_property_value(SD_link_t link,
-                                                    const char *name);
 /** @} */
 
 /************************** Workstation handling ****************************/
 
 /** @defgroup SD_workstation_management Workstations
  *  @brief Functions for managing the workstations
- * 
+ *
  *  This section describes the functions for managing the workstations.
- *  
+ *
  *  A workstation is a place where a task can be executed.
  *  A workstation is represented as a <em>physical
  *  resource with computing capabilities</em> and has a <em>name</em>.
@@ -99,15 +95,15 @@ XBT_PUBLIC(double) SD_route_get_communication_time(SD_workstation_t src,
 
 /** @defgroup SD_task_management Tasks
  *  @brief Functions for managing the tasks
- * 
+ *
  *  This section describes the functions for managing the tasks.
- *  
+ *
  *  A task is some <em>working amount</em> that can be executed
  *  in parallel on several workstations. A task may depend on other
  *  tasks, this means that the task cannot start until the other tasks are done.
  *  Each task has a <em>\ref e_SD_task_state_t "state"</em> indicating whether
  *  the task is scheduled, running, done, etc.
- *  
+ *
  *  @see SD_task_t, SD_task_dependency_management
  *  @{
  */
@@ -128,6 +124,7 @@ XBT_PUBLIC(double) SD_task_get_execution_time(SD_task_t task,
                                               *computation_amount, const double
                                               *communication_amount,
                                               double rate);
+XBT_PUBLIC(int) SD_task_get_kind(SD_task_t task);
 XBT_PUBLIC(void) SD_task_schedule(SD_task_t task, int workstation_nb,
                                   const SD_workstation_t * workstation_list,
                                   const double *computation_amount,
@@ -136,7 +133,19 @@ XBT_PUBLIC(void) SD_task_schedule(SD_task_t task, int workstation_nb,
 XBT_PUBLIC(void) SD_task_unschedule(SD_task_t task);
 XBT_PUBLIC(double) SD_task_get_start_time(SD_task_t task);
 XBT_PUBLIC(double) SD_task_get_finish_time(SD_task_t task);
+XBT_PUBLIC(xbt_dynar_t) SD_task_get_parents(SD_task_t task);
+XBT_PUBLIC(xbt_dynar_t) SD_task_get_children(SD_task_t task);
+XBT_PUBLIC(int) SD_task_get_workstation_count(SD_task_t task);
+XBT_PUBLIC(SD_workstation_t*) SD_task_get_workstation_list(SD_task_t task);
 XBT_PUBLIC(void) SD_task_destroy(SD_task_t task);
+XBT_PUBLIC(void) SD_task_dump(SD_task_t task);
+XBT_PUBLIC(void) SD_task_dotty(SD_task_t task,void* out_FILE);
+
+XBT_PUBLIC(SD_task_t) SD_task_create_comp_seq(const char*name,void *data,double amount);
+XBT_PUBLIC(SD_task_t) SD_task_create_comm_e2e(const char*name,void *data,double amount);
+XBT_PUBLIC(void) SD_task_schedulev(SD_task_t task, int count, const SD_workstation_t*list);
+XBT_PUBLIC(void) SD_task_schedulel(SD_task_t task, int count, ...);
+
 /** @} */
 
 
@@ -159,10 +168,10 @@ XBT_PUBLIC(int) SD_task_dependency_exists(SD_task_t src, SD_task_t dst);
 
 /** @defgroup SD_simulation Simulation
  *  @brief Functions for creating the environment and launching the simulation
- * 
+ *
  *  This section describes the functions for initialising SimDag, launching
  *  the simulation and exiting SimDag.
- *  
+ *
  *  @{
  */
 XBT_PUBLIC(void) SD_init(int *argc, char **argv);
@@ -171,6 +180,8 @@ XBT_PUBLIC(void) SD_create_environment(const char *platform_file);
 XBT_PUBLIC(SD_task_t *) SD_simulate(double how_long);
 XBT_PUBLIC(double) SD_get_clock(void);
 XBT_PUBLIC(void) SD_exit(void);
+XBT_PUBLIC(xbt_dynar_t) SD_daxload(const char*filename);
+
 /** @} */
 
 SG_END_DECL()