AmdahlParallelModel.h
1 
10 #ifndef WRENCH_AMDAHLPARALLELMODEL_H
11 #define WRENCH_AMDAHLPARALLELMODEL_H
12 
13 #include "wrench/workflow/parallel_model/ParallelModel.h"
14 
15 #include <vector>
16 
17 namespace wrench {
18 
23 
24  public:
25 
26  double getAlpha();
27 
28  /***********************/
30  /***********************/
31 
32  std::vector<double> getWorkPerThread(double total_work, unsigned long num_threads) override;
33  ~AmdahlParallelModel() override {}
34 
35  /***********************/
37  /***********************/
38 
39  protected:
40 
41  private:
42  friend class ParallelModel;
43 
44  AmdahlParallelModel(double alpha);
45  double alpha; // Fraction of the work that's parallelizable
46  };
47 
48 
49 }
50 
51 #endif //WRENCH_AMDAHLPARALLELMODEL_H
Definition: Alarm.cpp:20
double getAlpha()
Get the.
Definition: AmdahlParallelModel.cpp:38
A virtual class (with convenient static methods) to define parallel task performance models.
Definition: ParallelModel.h:23
A class that defines an Amdahl's Law-based parallel task performance model.
Definition: AmdahlParallelModel.h:22