From 45cbdd7f259d32a2a3026cb5774fe1e7ca90a607 Mon Sep 17 00:00:00 2001 From: Olivier BICHLER <olivier.bichler@cea.fr> Date: Wed, 4 Sep 2024 10:25:14 +0200 Subject: [PATCH] Fix merge with dev --- include/aidge/backend/cpu/operator/AbsImpl.hpp | 6 +++--- include/aidge/backend/cpu/operator/AndImpl.hpp | 6 +++--- include/aidge/backend/cpu/operator/ArgMaxImpl.hpp | 8 ++++---- include/aidge/backend/cpu/operator/ReduceSumImpl.hpp | 8 ++++---- src/operator/AbsImpl.cpp | 5 ----- src/operator/AndImpl.cpp | 5 ----- 6 files changed, 14 insertions(+), 24 deletions(-) diff --git a/include/aidge/backend/cpu/operator/AbsImpl.hpp b/include/aidge/backend/cpu/operator/AbsImpl.hpp index faba3ef6..e53b3154 100644 --- a/include/aidge/backend/cpu/operator/AbsImpl.hpp +++ b/include/aidge/backend/cpu/operator/AbsImpl.hpp @@ -24,10 +24,10 @@ namespace Aidge { // compute kernel registry for forward and backward class AbsImplForward_cpu - : public Registrable<AbsImplForward_cpu, std::tuple<DataType, DataType>, void(const std::size_t, const void*, void*)> { + : public Registrable<AbsImplForward_cpu, std::tuple<DataType, DataType>, std::function<void(const std::size_t, const void*, void*)>> { }; class AbsImplBackward_cpu - : public Registrable<AbsImplBackward_cpu, std::tuple<DataType, DataType>, void(const std::size_t, const void*, void*)> { + : public Registrable<AbsImplBackward_cpu, std::tuple<DataType, DataType>, std::function<void(const std::size_t, const void*, void*)>> { }; class AbsImpl_cpu : public OperatorImpl { @@ -38,7 +38,7 @@ public: return std::make_unique<AbsImpl_cpu>(op); } - Elts_t getNbRequiredProtected(const IOIndex_t inputIdx) const override final; + std::shared_ptr<ProdConso> getProdConso() const override { return std::make_unique<ProdConso>(mOp, true); }; void forward() override; }; diff --git a/include/aidge/backend/cpu/operator/AndImpl.hpp b/include/aidge/backend/cpu/operator/AndImpl.hpp index 139b1f08..fd8cebbc 100644 --- a/include/aidge/backend/cpu/operator/AndImpl.hpp +++ b/include/aidge/backend/cpu/operator/AndImpl.hpp @@ -23,10 +23,10 @@ namespace Aidge { // compute kernel registry for forward and backward class AndImplForward_cpu - : public Registrable<AndImplForward_cpu, std::tuple<DataType, DataType, DataType>, void(const std::vector<std::size_t>&, const std::vector<std::size_t>&, const std::vector<std::size_t>&, const void*, const void*,void*)> { + : public Registrable<AndImplForward_cpu, std::tuple<DataType, DataType, DataType>, std::function<void(const std::vector<std::size_t>&, const std::vector<std::size_t>&, const std::vector<std::size_t>&, const void*, const void*,void*)>> { }; class AndImplBackward_cpu - : public Registrable<AndImplBackward_cpu, std::tuple<DataType, DataType, DataType>, void(const std::vector<std::size_t>&, const std::vector<std::size_t>&, const std::vector<std::size_t>&, const void*, const void*, void*)> { + : public Registrable<AndImplBackward_cpu, std::tuple<DataType, DataType, DataType>, std::function<void(const std::vector<std::size_t>&, const std::vector<std::size_t>&, const std::vector<std::size_t>&, const void*, const void*, void*)>> { }; class AndImpl_cpu : public OperatorImpl { @@ -37,7 +37,7 @@ public: return std::make_unique<AndImpl_cpu>(op); } - Elts_t getNbRequiredProtected(const IOIndex_t inputIdx) const override final; + std::shared_ptr<ProdConso> getProdConso() const override { return std::make_unique<ProdConso>(mOp, true); }; void forward() override; }; diff --git a/include/aidge/backend/cpu/operator/ArgMaxImpl.hpp b/include/aidge/backend/cpu/operator/ArgMaxImpl.hpp index f93abbbc..72b9cc40 100644 --- a/include/aidge/backend/cpu/operator/ArgMaxImpl.hpp +++ b/include/aidge/backend/cpu/operator/ArgMaxImpl.hpp @@ -26,19 +26,19 @@ namespace Aidge { class ArgMaxImplForward_cpu : public Registrable<ArgMaxImplForward_cpu, std::tuple<DataType, DataType>, - void(std::int32_t, + std::function<void(std::int32_t, DimSize_t, const std::vector<DimSize_t>&, const void *, - void *)> {}; + void *)>> {}; class ArgMaxImplBackward_cpu : public Registrable<ArgMaxImplBackward_cpu, std::tuple<DataType, DataType>, - void(std::int32_t, + std::function<void(std::int32_t, DimSize_t, const std::vector<DimSize_t>&, const void *, - void *)> {}; + void *)>> {}; class ArgMaxImpl_cpu : public OperatorImpl { public: diff --git a/include/aidge/backend/cpu/operator/ReduceSumImpl.hpp b/include/aidge/backend/cpu/operator/ReduceSumImpl.hpp index 3b265e13..0f37ef5d 100644 --- a/include/aidge/backend/cpu/operator/ReduceSumImpl.hpp +++ b/include/aidge/backend/cpu/operator/ReduceSumImpl.hpp @@ -26,19 +26,19 @@ namespace Aidge { class ReduceSumImplForward_cpu : public Registrable<ReduceSumImplForward_cpu, std::tuple<DataType, DataType>, - void(const std::vector<std::int32_t>&, + std::function<void(const std::vector<std::int32_t>&, DimSize_t, const std::vector<DimSize_t>&, const void *, - void *)> {}; + void *)>> {}; class ReduceSumImpl1DBackward_cpu : public Registrable<ReduceSumImpl1DBackward_cpu, std::tuple<DataType, DataType>, - void(const std::vector<std::int32_t>&, + std::function<void(const std::vector<std::int32_t>&, DimSize_t, const std::vector<DimSize_t>&, const void *, - void *)> {}; + void *)>> {}; class ReduceSumImpl_cpu : public OperatorImpl { public: diff --git a/src/operator/AbsImpl.cpp b/src/operator/AbsImpl.cpp index 1eb86c91..589de2d8 100644 --- a/src/operator/AbsImpl.cpp +++ b/src/operator/AbsImpl.cpp @@ -19,11 +19,6 @@ #include "aidge/operator/Abs.hpp" #include "aidge/utils/Types.h" -Aidge::Elts_t Aidge::AbsImpl_cpu::getNbRequiredProtected(const Aidge::IOIndex_t /*inputIdx*/) const { - // this implementation can be in-place - return Elts_t::DataElts(0); -} - void Aidge::AbsImpl_cpu::forward() { const Abs_Op& op = static_cast<const Abs_Op&>(mOp); diff --git a/src/operator/AndImpl.cpp b/src/operator/AndImpl.cpp index bc447e74..78a273d0 100644 --- a/src/operator/AndImpl.cpp +++ b/src/operator/AndImpl.cpp @@ -23,11 +23,6 @@ #include "aidge/backend/cpu/operator/AndImpl.hpp" #include "aidge/backend/cpu/operator/AndImpl_forward_kernels.hpp" -Aidge::Elts_t Aidge::AndImpl_cpu::getNbRequiredProtected(const Aidge::IOIndex_t /*inputIdx*/) const { - // this implementation can be in-place - return Elts_t::DataElts(0); -} - void Aidge::AndImpl_cpu::forward() { // Find the correct kernel type auto kernelFunc = Registrar<AndImplForward_cpu>::create({ -- GitLab