mlx-lattice¶
mlx-lattice is a sparse point-cloud and sparse-voxel library built on
top of MLX. It provides sparse tensor
containers, coordinate management, sparse convolution and pooling operators,
point/voxel conversion utilities, quantized inference helpers, and
mlx.nn-style modules for Apple Silicon workflows.
The project is organized around sparse semantics rather than around individual
kernels. A user creates a mlx_lattice.SparseTensor,
applies operators such as mlx_lattice.ops.conv3d() or
mlx_lattice.ops.pool3d(), and lets the implementation choose the
appropriate CPU or Metal route. Backend details such as CSR traversal,
sorted implicit-GEMM views, TensorOps availability, and quantized weight
packing remain implementation details unless you are maintaining the native
backend itself.
The most important contract is small:
coordinates are integer rows ordered as
(batch, x, y, z);features are MLX arrays whose rows are aligned with those coordinates;
sparse relations describe how input coordinate rows contribute to output coordinate rows;
public semantics are shared by the CPU and Metal backends even when their kernels use different implementation strategies.
Use the getting-started pages when learning the end-to-end workflow. Use the concept references when you need to reason about coordinate identity, relations, sparse algebra, or point/voxel conversion. Use the backend reference when diagnosing why a public operation selected a particular execution path.