10 #ifndef WRENCH_PARALLELMODEL_H
11 #define WRENCH_PARALLELMODEL_H
27 static std::shared_ptr<ParallelModel>
AMDAHL(
double alpha);
29 static std::shared_ptr<ParallelModel>
CUSTOM(std::function<std::vector<double>(
double,
long)> lambda);
44 virtual std::vector<double>
getWorkPerThread(
double total_work,
unsigned long num_threads) = 0;
57 #endif //WRENCH_PARALLELMODEL_H
static std::shared_ptr< ParallelModel > AMDAHL(double alpha)
Create an instance of an "Amdahl" parallel model.
Definition: ParallelModel.cpp:31
static std::shared_ptr< ParallelModel > CUSTOM(std::function< std::vector< double >(double, long)> lambda)
Create an instance of a "Custom" parallel model.
Definition: ParallelModel.cpp:52
virtual std::vector< double > getWorkPerThread(double total_work, unsigned long num_threads)=0
A method the, for this parallel model, computes how much work each thread that is part of a parallel ...
A virtual class (with convenient static methods) to define parallel task performance models.
Definition: ParallelModel.h:23
static std::shared_ptr< ParallelModel > CONSTANTEFFICIENCY(double efficiency)
Create an instance of a "Constant Efficiency" parallel model.
Definition: ParallelModel.cpp:41