diff --git a/include/aidge/backend/cpu/operator/MatMulImpl_kernels.hpp b/include/aidge/backend/cpu/operator/MatMulImpl_kernels.hpp
index 5fc13baf49b1d0606eb4af5a54eec83fa5dce22a..ec55d31a6bb728fbaf711c27456d1e5f52e3de31 100644
--- a/include/aidge/backend/cpu/operator/MatMulImpl_kernels.hpp
+++ b/include/aidge/backend/cpu/operator/MatMulImpl_kernels.hpp
@@ -26,6 +26,9 @@ void MatMulImpl_cpu_forward_kernel(const std::size_t n, const std::size_t k, con
 
     std::memset(output, O(0), n * m * sizeof(O));
 
+#ifdef _OPENMP
+    #pragma omp parallel for if (n > 32)
+#endif
     for (std::size_t i = 0; i < n; ++i) {
         for (std::size_t l = 0; l < k; ++l) {
             for (std::size_t j = 0; j < m; ++j) {