diff --git a/include/aidge/backend/OperatorImpl.hpp b/include/aidge/backend/OperatorImpl.hpp index 8b5aba10dbc2691b5d607cda28eba621335881d1..944183d0b5866af6c037cf64c91c014e2f25bad6 100644 --- a/include/aidge/backend/OperatorImpl.hpp +++ b/include/aidge/backend/OperatorImpl.hpp @@ -15,6 +15,7 @@ #include <cstddef> #include <vector> #include <memory> + #include "aidge/utils/Types.h" namespace Aidge { @@ -22,10 +23,13 @@ class Operator; class OperatorImpl { public: - OperatorImpl(const Operator& op); + OperatorImpl(const Operator& op, const std::string& backend); virtual void forward(); virtual void backward(); + const std::string& backend() const noexcept { + return mBackend; + } /** * @brief Minimum amount of data from a specific input required by the * implementation to be run. @@ -73,6 +77,7 @@ public: protected: const Operator &mOp; + const std::string mBackend; std::vector<NbElts_t> mNbConsumedData; std::vector<NbElts_t> mNbProducedData; }; diff --git a/src/backend/OperatorImpl.cpp b/src/backend/OperatorImpl.cpp index 1911da228c83d66117a2591adf47dc07cd8dc674..0492c05056f01ed9e243af8ae2e0bf82460c5841 100644 --- a/src/backend/OperatorImpl.cpp +++ b/src/backend/OperatorImpl.cpp @@ -10,14 +10,16 @@ ********************************************************************************/ #include <cassert> +#include <string> #include "aidge/backend/OperatorImpl.hpp" #include "aidge/operator/Operator.hpp" #include "aidge/data/Tensor.hpp" #include "aidge/utils/ErrorHandling.hpp" -Aidge::OperatorImpl::OperatorImpl(const Operator& op): +Aidge::OperatorImpl::OperatorImpl(const Operator& op, const std::string& backend): mOp(op), + mBackend(backend), mNbConsumedData(mOp.nbInputs(), 0), mNbProducedData(mOp.nbOutputs(), 0) {