From f3051f33a3cd5b69151b3291246df26f1097b657 Mon Sep 17 00:00:00 2001
From: Jerome Hue <jerome.hue@cea.fr>
Date: Wed, 7 May 2025 15:22:54 +0200
Subject: [PATCH] Fix backward pass in FCImpl CPU kernel

Add debug logging to Heaviside implementation forward pass
---
 include/aidge/backend/cpu/operator/FCImpl_kernels.hpp | 2 +-
 src/operator/HeavisideImpl.cpp                        | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/aidge/backend/cpu/operator/FCImpl_kernels.hpp b/include/aidge/backend/cpu/operator/FCImpl_kernels.hpp
index 0d2d9e45..01f62aff 100644
--- a/include/aidge/backend/cpu/operator/FCImpl_kernels.hpp
+++ b/include/aidge/backend/cpu/operator/FCImpl_kernels.hpp
@@ -167,7 +167,7 @@ void FCImpl_cpu_backward_kernel(const DimSize_t batchSize,
             for (std::size_t o = 0; o < outputFeatureSize; ++o) {
                 sum += weight[o*inputFeatureSize + c] * input[b*outputFeatureSize + o];
             }
-            output[b*inputFeatureSize + c]+= sum;
+            output[b*inputFeatureSize + c] = sum;
         }
     }
 }
diff --git a/src/operator/HeavisideImpl.cpp b/src/operator/HeavisideImpl.cpp
index 217799f0..8ddfb510 100644
--- a/src/operator/HeavisideImpl.cpp
+++ b/src/operator/HeavisideImpl.cpp
@@ -26,6 +26,8 @@ template <> void Aidge::HeavisideImplCpu::forward() {
   const auto impl =
       Registrar<HeavisideImplCpu>::create(getBestMatch(getRequiredSpec()));
 
+  Log::info("(HeavisideImpl.cpp) Before forward");
+  Log::info("(HeavisideImpl.cpp) Input 0 \n{}", input0->toString());
   impl.forward(input0->size(), getCPUPtr(mOp.getRawInput(0)),
                getCPUPtr(mOp.getRawOutput(0)), op_.value());
 }
-- 
GitLab