From d4c81062ad0dacd8ea7afaf09311997956a56911 Mon Sep 17 00:00:00 2001 From: Kellen Sun <66171946+kellen-sun@users.noreply.github.com> Date: Thu, 19 Feb 2026 13:01:22 -0500 Subject: [PATCH] [Metal] Fix 32-bit integer overflow in conv3d unfold kernel (#3143) --- mlx/backend/metal/kernels/conv.metal | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mlx/backend/metal/kernels/conv.metal b/mlx/backend/metal/kernels/conv.metal index 50a14ad3..24522bb7 100644 --- a/mlx/backend/metal/kernels/conv.metal +++ b/mlx/backend/metal/kernels/conv.metal @@ -30,7 +30,7 @@ template out_pixels *= params->oS[i]; // Set out - out += gid.z * filter_size + gid.y * (params->C); + out += (size_t)gid.z * filter_size + (size_t)gid.y * (params->C); // Coordinates in input int is[N] = {0}; @@ -93,7 +93,8 @@ template out_pixels *= params->oS[i]; // Set out - out += gid.z * filter_size + gid.x * (filter_size / params->C); + out += + (size_t)gid.z * filter_size + (size_t)gid.x * (filter_size / params->C); // Coordinates in input int is[N] = {0};