The Wire · Showcase
JAX TIGHTENS PPERMUTE VALIDATION TO CATCH SILENT CORRECTNESS BUGS
By RepoJournal · Filed · About Google
JAX is shipping a correctness fix that will break code relying on undefined behavior, and that's exactly the point.
The ppermute collective operation has been silently producing wrong answers when axis names don't match mesh axis order [1]. A new flag, jax_raise_on_ppermute_sort_diff, is enabled by default and will error instead of auto-sorting replica groups. This catches bugs that have likely shipped to production undetected. If your distributed training uses ppermute, expect this to surface issues in your axis naming. Separately, JAX documented the sum_match argument for jax.vmap [2], clarifying that outputs varying along the mapped axis get summed in autodiff contexts instead of erroring. Documentation improvements landed for structured residuals and first-class VJPs [3], making custom derivative patterns less opaque for teams building on JAX's autodiff.
One email a day. Unsubscribe in one click.
What actually shipped in Google, written up every day — commits, pull requests, releases, and security advisories.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Test your ppermute calls immediately - jax_raise_on_ppermute_sort_diff will catch axis naming bugs google/jax [immediate]
- → Review sum_match usage in vmap calls if you're doing custom autodiff patterns google/jax [plan]
- → Read the structured residuals docs before your next VJP implementation google/jax [monitor]
References