A new nightly version has been released! ![]()
See the quickstart guide for installation instructions: Quickstart | MAX
MAX changelog updates:
-
Added support for
LiquidAI/LFM3-1.7Band
LiquidAI/LFM3-1.7B-Base
on the newLfm3ForCausalLMarchitecture. -
Added support for
LiquidAI/LFM3-VL-2Bon the
Lfm3VlForConditionalGenerationarchitecture, with image and video input. -
Added support for
LiquidAI/LFM3-Omni-2Bon
theLfm3OmniForConditionalGenerationarchitecture, with text, image and
video input. -
Added
ops.allreduce_rms_normandmax.functional.allreduce_rms_norm, a
fused allreduce + RMSNorm collective for bfloat16 2-D tensors: every device
ends up with the RMS norm of the summed tensor, computed in one launch. The
norm runs on the unrounded float32 sum, so it is not bit-identical to
allreduce_sumfollowed byrms_norm, which reads the sum rounded back to
bfloat16. Themax.functionalform falls back to that two-launch path for
inputs that are not 2-D bfloat16 and for meshes without signal buffers. -
ops.resize_bicubic()and itsmax.functionalcounterpart
take anantialiaskeyword argument. Withantialias=True, the resize
uses the filter of Pillow’sBICUBICand matches PyTorch’s
interpolate(mode="bicubic", antialias=True)to float32 rounding. The
antialiased resize runs on the CPU, on a float32 input, or on a uint8 input
that it resizes to uint8, rounding and clamping once at the end.
ops.resize_bicubic()also takes its output size as a runtime int64
tensor, without_dimsdeclaring the output’s dimensions. -
DeviceContext.enqueue_function()accepts aGridBlockLaunchConfig(grid,
block, dynamic shared memory) orClusterLaunchConfig(plus thread block
clusters) frommax.gpu.hostas its first argument. A cluster launch on a
GPU without clusters fails to compile; generic code checks
conforms_to(DeviceContext.ExecutionConfigType, ClusterExecutionConfig). -
Loading a model on a device that reports no free memory now fails with a
“Model size exceeds available memory” error. Memory planning used to treat
0 as unmeasured and size against the device’s total memory, so a full host
could crash during loading instead.
Mojo changelog updates:
- [stdlib] Raise
IOErrorfromFileDescriptormethods
Raw MAX diff: https://github.com/modular/modular/compare/8ed65fc6ac15950ce62da1f8e8d50c2c7c528065...27a2106cb450292f63d5e35c05282cb66264331c
Current Mojo changelog: https://github.com/modular/modular/blob/main/Mojo/docs/site/nightly-changelog.md