Commit a9efa51f authored by EYRAUD-DUBOIS Lionel's avatar EYRAUD-DUBOIS Lionel

New option in DP2: discretization constant

parent 07358b1b
......@@ -292,7 +292,7 @@ resources. All of these only work with two types of resources.
dual approximation, dynamic-programming based algorithm. Based on the simpler algorithm from
[Scheduling Independent Tasks on Multi-cores with GPU Accelerators](https://hal.inria.fr/hal-00921357), described
in Section 5.2. Also described in [Scheduling Independent Tasks on Multi-cores with GPU Accelerators](https://hal.inria.fr/hal-01081625),
Section 5.2.
Section 5.2. Additional option: `disc` selects the discretization precision (default 50.0)
+ `dualhp`
dual approximation, heteroprio-based greedy algorithm. Inspired from [Scheduling Data Flow Program in XKaapi: A
New Affinity Based Algorithm for Heterogeneous Architectures](https://hal.inria.fr/hal-01081629v1), with only the
......
......@@ -14,6 +14,7 @@ class IndepDP2 : public IndepAllocator {
double tryGuess(Instance &, std::vector<int> taskSet, double maxGPUload, double maxlen,
IndepResult & result, bool getResult);
double epsilon = 0.01;
double discretizationConstant = 50.0;
public:
IndepDP2(const AlgOptions& opt);
......
......@@ -10,7 +10,8 @@ using namespace std;
IndepDP2::IndepDP2(const AlgOptions& opt): IndepAllocator(opt) {
verbosity = opt.asInt("verb_DP2", verbosity);
verbosity = opt.asInt("verb_DP2", verbosity);
discretizationConstant = opt.asDouble("disc", 50.0);
}
......@@ -28,7 +29,7 @@ double IndepDP2::tryGuess(Instance& instance, std::vector<int> taskSet, double m
if(maxGPUload < 0) maxGPUload = 1;
double ratio = maxGPUload / (50.0 * taskSet.size());
double ratio = maxGPUload / (discretizationConstant * taskSet.size());
vector<int> discreteGPUtimings(instance.nbTaskTypes);
for(int i = 0; i < instance.nbTaskTypes; i++)
discreteGPUtimings[i] = ceil(instance.execTimes[1][i] / ratio);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment