Convolution operations

Sparse convolution functions operate on mlx_lattice.SparseTensor objects and dense or packed weights. They build or reuse kernel relations and return a new sparse tensor whose coordinate support is determined by the operation:

Function

Relation kind

Output coordinates

conv3d

forward or target

Generated from input geometry, or taken from explicit target coordinates.

subm_conv3d

submanifold

Reuses input coordinate identity.

conv_transpose3d

transposed or target transposed

Generates transpose support or evaluates on explicit target coordinates.

generative_conv_transpose3d

generative

Generates support from input rows and stride.

normalized_subm_conv3d

submanifold

Reuses input support and applies weight-dependent normalization.

normalized_conv_transpose3d

transposed or target transposed

Applies weight-dependent normalization on generated or target support.

normalized_generative_conv_transpose3d

generative

Generates support and applies weight-dependent normalization.

Floating weights accept dense 5D layout (C_out, Kx, Ky, Kz, C_in). Spatial axes are x, y, z and flattened rows vary z fastest; this is the conv3d_o_xyz_i artifact layout. They also accept mapped kernel-major layout (K, C_in, C_out). Packed quantized weights use QuantizedWeight.