schedulers
1.0.0
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <string>
#include <iostream>
#include <pelib/SandersSpeck.hpp>
#include <pelib/AmplSolver.hpp>
#include <pelib/Schedule.hpp>
#include <pelib/Scalar.hpp>
#include <pelib/Vector.hpp>
#include <pelib/Matrix.hpp>
#include <pelib/Set.hpp>
#include <pelib/Task.hpp>
#include <pelib/Link.hpp>
#include <pelib/Taskgraph.hpp>
#include <pelib/Platform.hpp>
#include <pelib/CastException.hpp>
#include <pelib/ParseException.hpp>
#include <pelib/AmplOutput.hpp>
#include <pelib/PelibException.hpp>
Go to the source code of this file.
Classes | |
struct | task |
struct | taskset |
struct | taskparams |
struct | schedule |
struct | etable |
Defines | |
#define | debug(var) cout << "[" << __FILE__ << ":" << __FUNCTION__ << ":" << __LINE__ << "] " << #var << " = \"" << (var) << "\"" << endl; |
#define | LEN 100 |
#define | TAUTHRESHOLD 0.0001 |
#define | MINFACT 0.0001 |
#define | MAX_DOUBLE pow(2.0,50.0) |
#define | THRESHOLD 0.000001 |
#define | printf_d(expr) fprintf(stderr, "[%s:%s:%d] %s = %d\n", __FILE__, __FUNCTION__, __LINE__, #expr, (int)expr); |
#define | printf_lf(expr) fprintf(stderr, "[%s:%s:%d] %s = %lf\n", __FILE__, __FUNCTION__, __LINE__, #expr, (double)expr); |
Typedefs | |
typedef struct task | Task |
typedef struct taskset | Taskset |
typedef struct taskparams | Taskparams |
typedef struct schedule | Schedule |
typedef struct etable | ETable |
Functions | |
double | taskload (Task *t) |
double | taskhtab (Task *t, int p) |
void | inittaskset (Taskset *ts, int n, char *name, int maxcores) |
double | g (int i) |
double | efficiency (int i, int maxwidth) |
void | computehtab (Task *t, int maxcores) |
void | addtasktotaskset (Taskset *ts, int id, double work, int maxwidth, char *name) |
void | deinittaskset (Taskset *ts) |
deinit a taskset | |
void | copytaskset (Taskset *trg, Taskset *src, char *name) |
void | readinput (Taskset *ts, const pelib::Taskgraph &tg, const pelib::Platform &arch) |
char * | tasksetname (Taskset *ts) |
int | tssize (Taskset *ts) |
Task * | gettask (Taskset *ts, int i) |
return pointer to i-th task of a taskset | |
void | printtask (Task *t) |
void | printtaskset (Taskset *ts) |
double | etau (Task *t, int p, double tau, double M) |
void | initetable (ETable *et, Taskset *ts, int cores) |
void | deinitetable (ETable *et) |
void | computeetable (ETable *et, Taskset *ts, int cores, double M) |
void | printetable (ETable *et) |
void | computeinitialc (Taskset *ts, ETable *et, double *clp, double *cup, double M) |
double | invertefunction (Taskset *ts, ETable *et, int i, double c, double cl, double cu, int *bendpointsleftptr, double M) |
int | checktoomany (Taskset *ts, ETable *et, double c, double cl, double cu, int *bendpointsleftptr, double M) |
double | computetaskenergy (Task *t, int pistar, double taui, double deadline, double lalpha) |
double | computeoptc (Taskset *ts, ETable *et, int p, double M, double minFreq) |
const pelib::Schedule * | pelib_schedule (const pelib::Taskgraph &tg, const pelib::Platform &pt, size_t argc, char **argv, std::map< const string, double > &statistics) |
string | pelib_description (size_t argc, char **argv) |
void | pelib_delete (pelib::Schedule *sched) |
Variables | |
double | alpha |
const long long int | nsec_in_sec = 1000000000 |
#define debug | ( | var | ) | cout << "[" << __FILE__ << ":" << __FUNCTION__ << ":" << __LINE__ << "] " << #var << " = \"" << (var) << "\"" << endl; |
Definition at line 34 of file SandersSpeck.cpp.
#define LEN 100 |
Definition at line 36 of file SandersSpeck.cpp.
#define MAX_DOUBLE pow(2.0,50.0) |
Definition at line 42 of file SandersSpeck.cpp.
#define MINFACT 0.0001 |
Definition at line 39 of file SandersSpeck.cpp.
#define printf_d | ( | expr | ) | fprintf(stderr, "[%s:%s:%d] %s = %d\n", __FILE__, __FUNCTION__, __LINE__, #expr, (int)expr); |
Definition at line 250 of file SandersSpeck.cpp.
#define printf_lf | ( | expr | ) | fprintf(stderr, "[%s:%s:%d] %s = %lf\n", __FILE__, __FUNCTION__, __LINE__, #expr, (double)expr); |
Definition at line 251 of file SandersSpeck.cpp.
#define TAUTHRESHOLD 0.0001 |
Definition at line 38 of file SandersSpeck.cpp.
#define THRESHOLD 0.000001 |
Definition at line 45 of file SandersSpeck.cpp.
typedef struct taskparams Taskparams |
void addtasktotaskset | ( | Taskset * | ts, |
int | id, | ||
double | work, | ||
int | maxwidth, | ||
char * | name | ||
) |
Definition at line 145 of file SandersSpeck.cpp.
int checktoomany | ( | Taskset * | ts, |
ETable * | et, | ||
double | c, | ||
double | cl, | ||
double | cu, | ||
int * | bendpointsleftptr, | ||
double | M | ||
) |
Definition at line 376 of file SandersSpeck.cpp.
void computeetable | ( | ETable * | et, |
Taskset * | ts, | ||
int | cores, | ||
double | M | ||
) |
Definition at line 282 of file SandersSpeck.cpp.
void computehtab | ( | Task * | t, |
int | maxcores | ||
) |
Definition at line 127 of file SandersSpeck.cpp.
void computeinitialc | ( | Taskset * | ts, |
ETable * | et, | ||
double * | clp, | ||
double * | cup, | ||
double | M | ||
) |
Definition at line 313 of file SandersSpeck.cpp.
double computeoptc | ( | Taskset * | ts, |
ETable * | et, | ||
int | p, | ||
double | M, | ||
double | minFreq | ||
) |
Definition at line 436 of file SandersSpeck.cpp.
double computetaskenergy | ( | Task * | t, |
int | pistar, | ||
double | taui, | ||
double | deadline, | ||
double | lalpha | ||
) |
Definition at line 394 of file SandersSpeck.cpp.
void copytaskset | ( | Taskset * | trg, |
Taskset * | src, | ||
char * | name | ||
) |
Definition at line 167 of file SandersSpeck.cpp.
void deinitetable | ( | ETable * | et | ) |
Definition at line 275 of file SandersSpeck.cpp.
void deinittaskset | ( | Taskset * | ts | ) |
deinit a taskset
Definition at line 159 of file SandersSpeck.cpp.
double efficiency | ( | int | i, |
int | maxwidth | ||
) |
Definition at line 118 of file SandersSpeck.cpp.
Definition at line 252 of file SandersSpeck.cpp.
double g | ( | int | i | ) |
Definition at line 114 of file SandersSpeck.cpp.
return pointer to i-th task of a taskset
Definition at line 228 of file SandersSpeck.cpp.
void initetable | ( | ETable * | et, |
Taskset * | ts, | ||
int | cores | ||
) |
Definition at line 267 of file SandersSpeck.cpp.
void inittaskset | ( | Taskset * | ts, |
int | n, | ||
char * | name, | ||
int | maxcores | ||
) |
Definition at line 105 of file SandersSpeck.cpp.
double invertefunction | ( | Taskset * | ts, |
ETable * | et, | ||
int | i, | ||
double | c, | ||
double | cl, | ||
double | cu, | ||
int * | bendpointsleftptr, | ||
double | M | ||
) |
Definition at line 333 of file SandersSpeck.cpp.
void pelib_delete | ( | pelib::Schedule * | sched | ) |
Definition at line 704 of file SandersSpeck.cpp.
string pelib_description | ( | size_t | argc, |
char ** | argv | ||
) |
Definition at line 694 of file SandersSpeck.cpp.
const pelib::Schedule* pelib_schedule | ( | const pelib::Taskgraph & | tg, |
const pelib::Platform & | pt, | ||
size_t | argc, | ||
char ** | argv, | ||
std::map< const string, double > & | statistics | ||
) |
Definition at line 684 of file SandersSpeck.cpp.
void printetable | ( | ETable * | et | ) |
Definition at line 300 of file SandersSpeck.cpp.
Definition at line 232 of file SandersSpeck.cpp.
void printtaskset | ( | Taskset * | ts | ) |
Definition at line 242 of file SandersSpeck.cpp.
Definition at line 201 of file SandersSpeck.cpp.
Definition at line 100 of file SandersSpeck.cpp.
Definition at line 95 of file SandersSpeck.cpp.
char* tasksetname | ( | Taskset * | ts | ) |
Definition at line 220 of file SandersSpeck.cpp.
Definition at line 224 of file SandersSpeck.cpp.
double alpha |
Definition at line 91 of file SandersSpeck.cpp.
const long long int nsec_in_sec = 1000000000 |
Definition at line 498 of file SandersSpeck.cpp.