diff --git a/src/operator/AddImpl.cpp b/src/operator/AddImpl.cpp index 92c9ee59d48ed8606192c83f346a76792dcd3eeb..7355ebcb3e8fb68bf74dbd1ce831bf471d285cb7 100644 --- a/src/operator/AddImpl.cpp +++ b/src/operator/AddImpl.cpp @@ -68,7 +68,8 @@ void Aidge::AddImpl_cpu::forward() { inputDims[idx] = dims[j]; } inputsDims.push_back(inputDims); - opInputs.push_back(getCPUPtr(mOp.getRawInput(i))); + const auto& input = std::static_pointer_cast<Tensor>(mOp.getRawInput(i))->refCastFrom(inputsFallback[i], *std::static_pointer_cast<Tensor>(mOp.getRawOutput(0))); + opInputs.push_back(input.getImpl()->rawPtr()); } kernelFunc(opInputs,