You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Guard the MLX convolution's rank at compile time #135
dispatch/mlx/pooling.py guards the rank it can handle and raises at compile time with a message naming the backend. dispatch/mlx/conv.py has no such guard, so a rank-4 convolution compiles cleanly and fails inside MLX on the first call, with a message that names neither the layer nor the backend policy. Every other NotImplementedError in the dispatch tree fires during pytensor.function(); this is the only one that waits until data loading, initialization and mx.compile are all behind you.
changed the title [-]An MLX convolution over more than three spatial axes compiles and then dies on the first batch[/-][+]Guard the MLX convolution's rank at compile time[/+]on Sep 1, 2026
Nobody's writing a four-dimensional convolution, so this isn't the bug it's filed as. What's worth doing is giving conv the compile-time rank guard dispatch/mlx/pooling.py already has.
Activity
[-]An MLX convolution over more than three spatial axes compiles and then dies on the first batch[/-][+]Guard the MLX convolution's rank at compile time[/+]jessegrabowski commentedon Sep 1, 2026
Nobody's writing a four-dimensional convolution, so this isn't the bug it's filed as. What's worth doing is giving conv the compile-time rank guard
dispatch/mlx/pooling.pyalready has.