A new nightly version has been released! ![]()
See the quickstart guide for installation instructions: Quickstart | Modular
MAX changelog updates:
- Added
DevicePlacementPolicy(Ignore,Warn,Error) toGraphto
control behavior when CPU-only ops (ops.scatter,ops.cumsum,
ops.nonzero,ops.tile) receive GPU tensors. The default (Warn) emits a
UserWarningand falls back to CPU;ErrorraisesValueErrorinstead.
ops.condandops.while_loopalways raiseValueErrorfor GPU predicates. - Added
scatter_ndop handler to the experimental eager interpreter (CPU
and GPU), scattering slices from updates into input at N-dimensional index
positions viamax.experimental.functional.scatter_nd. - Added
scatter_nd_addop handler to the experimental eager interpreter
(CPU), accumulating slices from updates into input at N-dimensional index
positions and summing duplicate indices via
max.experimental.functional.scatter_nd_add. - Added
bottom_kop handler to the experimental eager interpreter with CPU
and GPU support, returning the k smallest values and their original indices
along a specified axis viamax.experimental.functional.bottom_k. - Added
nonzeroop handler to the experimental eager interpreter (CPU),
returning the row-major coordinates of all nonzero elements as a
[nnz, rank]int64 tensor viamax.experimental.functional.nonzero. - Added
scatter_addop handler to the experimental eager interpreter (CPU),
accumulatingupdatesinto a copy ofinputatindicesalongaxis
and summing duplicate indices viamax.experimental.functional.scatter_add. max.graph.ops.pad(andmax.graph.experimental.functional.pad) now
acceptsmode=reflectandmode=edgein addition to
mode=constant.- Added
padop handlers (pad.constant,pad.reflect,pad.repeat) to
the experimental eager interpreter.pad.constantsupports CPU and GPU;
pad.reflectandpad.repeat(edge padding) run on CPU. - Added
max.graph.ops.resize_linearfor linear (bilinear) interpolation
resizing with configurablecoordinate_transform_mode(half_pixel,
align_corners, asymmetric, half_pixel_1D) and optionalantialias
downscaling support;max.graph.ops.resizenow supports
InterpolationMode.BILINEARby delegating toresize_linear. - Added
resize_linearop handler to the experimental eager interpreter
(CPU) viamax.experimental.functional.resize_linear. - Optimized GPU
topkstage-1 kernel with a per-thread register heap that
caches the top-8 elements during a single scan pass, eliminating redundant
global memory re-reads for the first 8 extraction iterations.
Mojo changelog updates:
Raw MAX diff: https://github.com/modular/modular/compare/cc314486029d15bda9df356307f770785648c523...5de6438bf5aae931acfafb86bffe70c8ba1bd5f3)>
Current Mojo changelog: https://github.com/modular/modular/blob/main/mojo/docs/nightly-changelog.md