Commit 5d14ef1b authored by BRAMAS Berenger's avatar BRAMAS Berenger

Capacities now depend on the type of processing unit

parent f2c10d8d
// @SCALFMM_PRIVATE
#ifndef FSTARPUKERNELCAPACITIES_HPP
#define FSTARPUKERNELCAPACITIES_HPP
#include "FStarPUUtils.hpp"
/** A class used with the starpu system should
* implement this interface in order to inform the algorithm about what the kernel
* is doing.
*/
class FStarPUKernelCapacities {
public:
virtual bool supportP2M() const = 0;
virtual bool supportM2M() const = 0;
virtual bool supportM2L() const = 0;
virtual bool supportL2L() const = 0;
virtual bool supportL2P() const = 0;
virtual bool supportP2P() const = 0;
virtual bool supportP2M(const FStarPUTypes inPu) const = 0;
virtual bool supportM2M(const FStarPUTypes inPu) const = 0;
virtual bool supportM2L(const FStarPUTypes inPu) const = 0;
virtual bool supportL2L(const FStarPUTypes inPu) const = 0;
virtual bool supportL2P(const FStarPUTypes inPu) const = 0;
virtual bool supportP2P(const FStarPUTypes inPu) const = 0;
};
/**
......@@ -25,22 +26,22 @@ class FStarPUAllYesCapacities : public BaseClass, public FStarPUKernelCapacities
public:
using BaseClass::BaseClass;
bool supportP2M() const override {
bool supportP2M(const FStarPUTypes /*inPu*/) const override {
return true;
}
bool supportM2M() const override {
bool supportM2M(const FStarPUTypes /*inPu*/) const override {
return true;
}
bool supportM2L() const override {
bool supportM2L(const FStarPUTypes /*inPu*/) const override {
return true;
}
bool supportL2L() const override {
bool supportL2L(const FStarPUTypes /*inPu*/) const override {
return true;
}
bool supportL2P() const override {
bool supportL2P(const FStarPUTypes /*inPu*/) const override {
return true;
}
bool supportP2P() const override {
bool supportP2P(const FStarPUTypes /*inPu*/) const override {
return true;
}
};
......
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