diff --git a/include/aidge/backend/cuda/data/TensorImpl.hpp b/include/aidge/backend/cuda/data/TensorImpl.hpp
index bf46ae1189a36f428cd85b5c38676528e2991612..96045781647f93f0627ca0853a0cdaa66a08af83 100644
--- a/include/aidge/backend/cuda/data/TensorImpl.hpp
+++ b/include/aidge/backend/cuda/data/TensorImpl.hpp
@@ -89,6 +89,10 @@ public:
 
     std::size_t scalarSize() const noexcept override { return sizeof(T); }
 
+    void zeros() override final {
+        CHECK_CUDA_STATUS(cudaMemset(rawPtr(), T(0), mNbElts * sizeof(T)));
+    }
+
     void copy(const void *src, NbElts_t length, NbElts_t offset = 0) override {
         AIDGE_ASSERT(length <= mData.size() || length <= mNbElts, "TensorImpl_cuda<{}>::copy(): copy length ({}) is above capacity ({})", typeid(T).name(), length, mNbElts);
         const T* srcT = static_cast<const T *>(src);