diff --git a/include/aidge/operator/ILayerNorm.hpp b/include/aidge/operator/ILayerNorm.hpp index 9eec045922643d9e0d1ae80e66e8ab61436b3abd..f660cc64eb65770cc6cf5335d9c070b155d03c0f 100644 --- a/include/aidge/operator/ILayerNorm.hpp +++ b/include/aidge/operator/ILayerNorm.hpp @@ -28,7 +28,7 @@ namespace Aidge { class ILayerNorm_Op : public OperatorTensor, - public Registrable<ILayerNorm_Op, std::string, std::shared_ptr<OperatorImpl>(const ILayerNorm_Op&)> { + public Registrable<ILayerNorm_Op, std::string, std::function<std::shared_ptr<OperatorImpl>(const ILayerNorm_Op&)>> { public: static const std::string Type; @@ -63,6 +63,7 @@ public: bool forwardDims(bool allowDataDependency = false) override final; void setBackend(const std::string& name, DeviceIdx_t device = 0) override final; + std::set<std::string> getAvailableBackends() const override; static const std::vector<std::string> getInputsName(){ return {"data_input", "weight", "bias"}; diff --git a/src/operator/ILayerNorm.cpp b/src/operator/ILayerNorm.cpp index dafe7ed0fcea7164c085c1f1d2913a7f461be12f..daa7ecf86b7ea9a9b10b962d356581f926e92eed 100644 --- a/src/operator/ILayerNorm.cpp +++ b/src/operator/ILayerNorm.cpp @@ -49,4 +49,8 @@ void Aidge::ILayerNorm_Op::setBackend(const std::string& name, DeviceIdx_t devic mOutputs[0]->setBackend(name, device); getInput(1)->setBackend(name, device); getInput(2)->setBackend(name, device); -} \ No newline at end of file +} + +std::set<std::string> Aidge::ILayerNorm_Op::getAvailableBackends() const { + return Registrar<ILayerNorm_Op>::getKeys(); +}