From 3008390391bcf1149ecd64b3acc15f9415134b59 Mon Sep 17 00:00:00 2001 From: hrouis <houssemeddine.rouis92@gmail.com> Date: Wed, 25 Sep 2024 11:30:04 +0200 Subject: [PATCH] delete unused header --- .../cpu/operator/PowImpl_backward_kernels.hpp | 75 ------------------- 1 file changed, 75 deletions(-) delete mode 100644 include/aidge/backend/cpu/operator/PowImpl_backward_kernels.hpp diff --git a/include/aidge/backend/cpu/operator/PowImpl_backward_kernels.hpp b/include/aidge/backend/cpu/operator/PowImpl_backward_kernels.hpp deleted file mode 100644 index 01b985ff..00000000 --- a/include/aidge/backend/cpu/operator/PowImpl_backward_kernels.hpp +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2023 CEA-List - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * SPDX-License-Identifier: EPL-2.0 - * - ********************************************************************************/ - -#ifndef AIDGE_CPU_OPERATOR_POWIMPL_BACKWARD_KERNEL_H_ -#define AIDGE_CPU_OPERATOR_POWIMPL_BACKWARD_KERNEL_H_ - -#include <cmath> -#include <numeric> -#include <vector> - -#include "aidge/backend/cpu/data/Broadcasting.hpp" -#include "aidge/backend/cpu/operator/PowImpl.hpp" -#include "aidge/utils/Registrar.hpp" - - -namespace Aidge { -template <class I1, class I2, class O> -void PowImpl_cpu_backward_kernel(const std::vector<std::size_t>& input0Dims, - const std::vector<std::size_t>& input1Dims, - const std::vector<std::size_t>& outputDims, - const void* input0_, - const void* input1_, - const void* gradOutput_, - void* gradientInput0_, - void* gradientInput1_) { - const I1* input0 = static_cast<const I1*>(input0_); - I1* grad0 = static_cast<I1*>(gradientInput0_); - const I2* input1 = static_cast<const I2*>(input1_); - I2* grad1 = static_cast<I2*>(gradientInput1_); - const O* gradOut = static_cast<const O*>(gradOutput_); - - // Fill input grads with zeros - auto input0Elements = std::accumulate(input0Dims.cbegin(), input0Dims.cend(), std::size_t(1), std::multiplies<std::size_t>()); - std::fill(grad0, grad0 + input0Elements, I1(0)); - auto input1Elements = std::accumulate(input1Dims.cbegin(), input1Dims.cend(), std::size_t(1), std::multiplies<std::size_t>()); - std::fill(grad1, grad1 + input1Elements, I1(0)); - - auto totalElements = std::accumulate(outputDims.cbegin(), outputDims.cend(), std::size_t(1), std::multiplies<std::size_t>()); - for (size_t i = 0; i < totalElements; ++i) - { - // Compute indexes in inputs 0 and 1 to support broadcasting - std::vector<std::size_t> indexes = getMultiDimIndices(outputDims, i); - std::size_t idx0 = getFlattenedIndex(input0Dims, indexes); - std::size_t idx1 = getFlattenedIndex(input1Dims, indexes); - - // grad0 = grad_output * (input1 * pow(input0, (input1 -1))) - grad0[idx0] += gradOut[i]*input1[idx1]* std::pow(input0[idx0], input1[idx1]-1); - - // grad1 = grad_output * (output * ln(input0)) - grad1[idx1] += gradOut[i] * std::pow(input0[idx0], input1[idx1]) * std::log(input0[idx0]); - } -} - -namespace { -static Registrar<PowImplBackward_cpu> registrarPowImplBackward_cpu_Float32( - {DataType::Float32, DataType::Float32, DataType::Float32}, - Aidge::PowImpl_cpu_backward_kernel<float, float, float>); -static Registrar<PowImplBackward_cpu> registrarPowImplBackward_cpu_Int32( - {DataType::Int32, DataType::Int32, DataType::Int32}, - Aidge::PowImpl_cpu_backward_kernel<int, int, int>); -static Registrar<PowImplBackward_cpu> registrarPowImplBackward_cpu_Float64( - {DataType::Float64, DataType::Float64, DataType::Float64}, - Aidge::PowImpl_cpu_backward_kernel<double, double, double>); -} // namespace -} // namespace Aidge - -#endif /* AIDGE_CPU_OPERATOR_POWIMPL_BACKWARD_KERNEL_H_ */ -- GitLab