StarPU Handbook
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
Theoretical Lower Bound on Execution Time

Compute theoretical upper computation efficiency bound corresponding to some actual execution. More...

Functions

void starpu_bound_start (int deps, int prio)
void starpu_bound_stop (void)
void starpu_bound_print_dot (FILE *output)
void starpu_bound_compute (double *res, double *integer_res, int integer)
void starpu_bound_print_lp (FILE *output)
void starpu_bound_print_mps (FILE *output)
void starpu_bound_print (FILE *output, int integer)

Detailed Description

Compute theoretical upper computation efficiency bound corresponding to some actual execution.

Function Documentation

void starpu_bound_start ( int  deps,
int  prio 
)

Start recording tasks (resets stats). deps tells whether dependencies should be recorded too (this is quite expensive)

void starpu_bound_stop ( void  )

Stop recording tasks

void starpu_bound_print_dot ( FILE *  output)

Print the DAG that was recorded

void starpu_bound_compute ( double *  res,
double *  integer_res,
int  integer 
)

Get theoretical upper bound (in ms) (needs glpk support detected by configure script). It returns 0 if some performance models are not calibrated.

void starpu_bound_print_lp ( FILE *  output)

Emit the Linear Programming system on output for the recorded tasks, in the lp format

void starpu_bound_print_mps ( FILE *  output)

Emit the Linear Programming system on output for the recorded tasks, in the mps format

void starpu_bound_print ( FILE *  output,
int  integer 
)

Emit statistics of actual execution vs theoretical upper bound. integer permits to choose between integer solving (which takes a long time but is correct), and relaxed solving (which provides an approximate solution).