What's Changed
- Preserve subnormal float values when casting to bool by @reckylurker in #4224
- Support assigning through a bare Ellipsis index by @Adityaj0 in #4314
- Fix divmod truncating the quotient for floats by @ayaangazali in #4108
- Add force_fused option to scaled_dot_product_attention by @hojin12312 in #4185
- Reject a negative eps in the normalization layers by @ayaangazali in #4312
- Bound GGUF metadata string/array values against the file mapping by @x14ngch3n in #4212
- Read each K/V byte once in gqa-8 decode attention by @dudududukim in #4077
- Fix fft vmap and jvp for transforms over a subset of axes by @kapellirohith in #4138
- Fix median dropping NaN by @devteamaegis in #4146
- Fix the CPU scan over a size one axis with a padded stride by @kapellirohith in #4139
- Validate the optimizer betas at construction by @ayaangazali in #4310
RMSNormVJPbackward writes a full{n_rows, D}gw_tempintermediate by @JasonHonKL in #4293- [Bug]: add default none value to axis parameter of the take_along_axis by @aaishwarymishra in #4357
- Add a fused full-attention path for head_dim 256 on NAX devices by @wyanzhao in #3842
- Update nanobind to 2.15.0 by @XXXXRT666 in #4337
- Skip unnecessary simdgroup computations for quantised MOE matmuls on NAX by @RohanGautam in #4352
- Add AI usage policy by @zcbenz in #4331
- Raise cpu stream errors from synchronize by @robertomeroni in #4338
- chore: Validate eps in Adam at construction by @vraj00222 in #4361
- Bound winograd conv2d working set by tiling the batch by @Gusanidas in #4102
- Use a 32-row block in qmm_t_nax when one block covers all of M by @dwijenpatel in #4171
- Deduplicate fftshift and ifftshift by @Adityaj0 in #4318
- Fix Log and Equal is_equivalent ignoring primitive state by @kapellirohith in #4266
- Stabilize reduced-precision InstanceNorm by @ternaus in #4230
- Normalize negative axes in sort and argsort by @deBrian07 in #4332
- Clean up main thread compile cache before python interpreter shuts down by @zcbenz in #4373
- chore: Check malformed jaccl hostfile that miss rdma in pairs by @erwinzhang7 in #4284
- Round mxfp8 block scales up to avoid saturation by @dhiltgen in #4353
- Add support for the array_namespace_info by @aaishwarymishra in #4334
- Stop a failed CUDA graph commit from poisoning the encoder by @strayberry in #4356
- Fix quantized kernels in JIT build by @dwijenpatel in #4372
- [Metal][Performance] Avoid zero work in stride-2 ConvTranspose3d by @ternaus in #4343
- [CUDA] Ce fused kernel by @nastya236 in #3947
- Fix cpu exclusive scan for complex numbers by @ayaangazali in #4272
- Support Relocatable CUDA DLLs on Windows by @dhiltgen in #4382
- Use cast_to for fused AsType in compiled Metal kernels by @katlun-lgtm in #4351
- Declare DLPackCompatible protocol members as methods, not settable attributes by @Adityaj0 in #4384
- Fix quantizing sliced arrays by @zcbenz in #4381
- Fix einsum dropping a trailing empty subscript by @Adityaj0 in #4299
- Add script to run python tests by @zcbenz in #4393
- Hold GIL in AttachedData destructor by @zcbenz in #4391
New Contributors
- @hojin12312 made their first contribution in #4185
- @x14ngch3n made their first contribution in #4212
- @vraj00222 made their first contribution in #4361
- @ternaus made their first contribution in #4230
- @strayberry made their first contribution in #4356
Full Changelog: v0.32.1...v0.32.2