Skip to content
Snippets Groups Projects
Commit 38454c94 authored by Maxence Naud's avatar Maxence Naud
Browse files

[Add] Backend member variable to Operator implementations

parent 679eb660
No related branches found
No related tags found
No related merge requests found
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include <cstddef> #include <cstddef>
#include <vector> #include <vector>
#include <memory> #include <memory>
#include "aidge/utils/Types.h" #include "aidge/utils/Types.h"
namespace Aidge { namespace Aidge {
...@@ -22,10 +23,13 @@ class Operator; ...@@ -22,10 +23,13 @@ class Operator;
class OperatorImpl { class OperatorImpl {
public: public:
OperatorImpl(const Operator& op); OperatorImpl(const Operator& op, const std::string& backend);
virtual void forward(); virtual void forward();
virtual void backward(); virtual void backward();
const std::string& backend() const noexcept {
return mBackend;
}
/** /**
* @brief Minimum amount of data from a specific input required by the * @brief Minimum amount of data from a specific input required by the
* implementation to be run. * implementation to be run.
...@@ -73,6 +77,7 @@ public: ...@@ -73,6 +77,7 @@ public:
protected: protected:
const Operator &mOp; const Operator &mOp;
const std::string mBackend;
std::vector<NbElts_t> mNbConsumedData; std::vector<NbElts_t> mNbConsumedData;
std::vector<NbElts_t> mNbProducedData; std::vector<NbElts_t> mNbProducedData;
}; };
......
...@@ -10,14 +10,16 @@ ...@@ -10,14 +10,16 @@
********************************************************************************/ ********************************************************************************/
#include <cassert> #include <cassert>
#include <string>
#include "aidge/backend/OperatorImpl.hpp" #include "aidge/backend/OperatorImpl.hpp"
#include "aidge/operator/Operator.hpp" #include "aidge/operator/Operator.hpp"
#include "aidge/data/Tensor.hpp" #include "aidge/data/Tensor.hpp"
#include "aidge/utils/ErrorHandling.hpp" #include "aidge/utils/ErrorHandling.hpp"
Aidge::OperatorImpl::OperatorImpl(const Operator& op): Aidge::OperatorImpl::OperatorImpl(const Operator& op, const std::string& backend):
mOp(op), mOp(op),
mBackend(backend),
mNbConsumedData(mOp.nbInputs(), 0), mNbConsumedData(mOp.nbInputs(), 0),
mNbProducedData(mOp.nbOutputs(), 0) mNbProducedData(mOp.nbOutputs(), 0)
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment