From 670fb293b2b76a0bb10825dcb27b65cbdb8374a7 Mon Sep 17 00:00:00 2001 From: Olivier BICHLER <olivier.bichler@cea.fr> Date: Thu, 29 Aug 2024 10:39:13 +0200 Subject: [PATCH] Use macro helper for registrar --- .../aidge/backend/cpu/operator/ReLUImpl.hpp | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/include/aidge/backend/cpu/operator/ReLUImpl.hpp b/include/aidge/backend/cpu/operator/ReLUImpl.hpp index 87cfd797..1b8622e2 100644 --- a/include/aidge/backend/cpu/operator/ReLUImpl.hpp +++ b/include/aidge/backend/cpu/operator/ReLUImpl.hpp @@ -23,19 +23,17 @@ #include "aidge/utils/Types.h" namespace Aidge { +// Operator implementation entry point for the backend using ReLUImpl_cpu = OperatorImpl_cpu<ReLU_Op, void(const std::size_t, const void*, void*), void(const std::size_t, const void*, const void*, void*)>; -// class ReLUImpl_cpu : public OperatorImpl_cpu<ReLU_Op, -// void(const std::size_t, const void*, void*), -// void(const std::size_t, const void*, const void*, void*)> -// { -// public: -// void forward() override; -// void backward() override; -// }; +// Implementation entry point registration to Operator +REGISTRAR(ReLU_Op, "cpu", Aidge::ReLUImpl_cpu::create); +//////////////////////////////////////////////////////////////////////////////// + +// Kernels template <class I, class O> void ReLUImpl_cpu_forward_kernel(std::size_t inputLenght, const void* input_, @@ -62,19 +60,16 @@ void ReLUImpl_cpu_backward_kernel(const std::size_t inputLenght, } } -namespace { -static Registrar<ReLU_Op> registrarReLUImpl_cpu("cpu", Aidge::ReLUImpl_cpu::create); - -static Registrar<ReLUImpl_cpu> registrarReLUImpl_cpu_float( +// Kernels registration to implementation entry point +REGISTRAR(ReLUImpl_cpu, {DataType::Float32}, {ProdConso::inPlaceModel, Aidge::ReLUImpl_cpu_forward_kernel<float, float>, Aidge::ReLUImpl_cpu_backward_kernel<float, float, float>}); -static Registrar<ReLUImpl_cpu> registrarReLUImpl_cpu_double( +REGISTRAR(ReLUImpl_cpu, {DataType::Float64}, {ProdConso::inPlaceModel, Aidge::ReLUImpl_cpu_forward_kernel<double, double>, Aidge::ReLUImpl_cpu_backward_kernel<double, double, double>}); -static Registrar<ReLUImpl_cpu> registrarReLUImpl_cpu_int( +REGISTRAR(ReLUImpl_cpu, {DataType::Int32}, {ProdConso::inPlaceModel, Aidge::ReLUImpl_cpu_forward_kernel<int, int>, Aidge::ReLUImpl_cpu_backward_kernel<int, int, int>}); -} } // namespace Aidge #endif /* AIDGE_CPU_OPERATOR_RELUIMPL_H_ */ -- GitLab