Loading...
Searching...
No Matches
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

## starpu_bound_start()

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)

See TheoreticalLowerBoundOnExecutionTime for more details.

## starpu_bound_stop()

void starpu_bound_stop | ( | void |  | ) |

Stop recording tasks

See TheoreticalLowerBoundOnExecutionTime for more details.

## starpu_bound_print_dot()

void starpu_bound_print_dot | ( | FILE * | output | ) |

Emit the DAG that was recorded on `output`.

See TheoreticalLowerBoundOnExecutionTime for more details.

## starpu_bound_compute()

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. `integer` permits to choose between integer solving (which takes a long time but is correct), and relaxed solving (which provides an approximate solution).

See TheoreticalLowerBoundOnExecutionTime for more details.

## starpu_bound_print_lp()

void starpu_bound_print_lp | ( | FILE * | output | ) |

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

See TheoreticalLowerBoundOnExecutionTime for more details.

## starpu_bound_print_mps()

void starpu_bound_print_mps | ( | FILE * | output | ) |

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

See TheoreticalLowerBoundOnExecutionTime for more details.

## starpu_bound_print()

void starpu_bound_print | ( | FILE * | output,
|  | int | integer
| ) |  |

Emit on `output` the 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).

See TheoreticalLowerBoundOnExecutionTime for more details.