Skip to content

Releases: NVIDIA/cuda-tile

v13.3.3: [Release] CUDA Tile IR 13.3.3

Choose a tag to compare

@dcaballe dcaballe released this 22 Jul 18:12
This is a bugfix release.

*Fixed Issues*
  * Pinned the i1 `DenseElementsAttr` bytecode wire format so it stays stable across LLVM revisions and remains backward compatible with existing 13.3 bytecode.

v13.3.2: [LLVM-FIX] Breaking commit 57109befac92 - 2026-06-13

Choose a tag to compare

@dcaballe dcaballe released this 27 Jun 00:53
Fix breakage caused by LLVM commit:
    commit 57109befac92811d2253109242ca6fa69c961fb2
    Author: Aiden Grossman <aidengrossman@google.com>
    Date:   Sat Jun 13 08:35:21 2026 +0000

        Reapply "[lit] Deprecate execute_external=True in ShTest" (#203316) (#203689)

v13.3.1: [LLVM-FIX] Breaking commit 67aaa03dac58 - 2026-06-02

Choose a tag to compare

@dcaballe dcaballe released this 27 Jun 00:00
Fix breakage caused by LLVM commit:
    commit 67aaa03dac582b5ccf65776e449eb6c7517eb11c
    Author: Matthias Springer <me@m-sp.org>
    Date:   Tue Jun 02 12:33:46 2026 +0200

        [mlir][IR] Add builtin `TokenType` (#195640)

v13.3.0: [Release] CUDA Tile IR 13.3.0

Choose a tag to compare

@dcaballe dcaballe released this 28 May 04:41
This release is aligned with the CUDA Tile IR specification included in CUDA Toolkit 13.3.

*Supported Architectures*
* Added support for Hopper (`sm_90`) architecture.

*New Operations*
* Added op `alloca` for automatic memory allocation
* Added op `mmaf_scaled` for floating-point matrix-multiply-accumulate with scaled inputs on `sm_100` and above
* Added op `pack` to pack a tile into a byte array
* Added op `unpack` to unpack a byte array into a tile
* Added op `make_strided_view` to create a strided view from a tensor view
* Added op `make_gather_scatter_view` to create a gather/scatter view from a tensor view
* Added op `atomic_red_view_tko` for view-based atomic reduction on global memory

*New Types*
* Added type `strided_view` for strided tile views with configurable traversal strides
* Added type `gather_scatter_view` for gather/scatter access patterns over tensor views
* Added type `i4` (4-bit integer) for quantization support. `i4` tiles must be converted to a supported integer type for use in operations
* Added type `f4E2M1FN` (4-bit float)

*Modified Operations*
* Modified op `entry` to add `num_worker_warps_per_cta` optimization hint
* Modified op `entry` to add `default` key support for optimization hints (fallback when no target-specific hint is given)
* Modified op `mmaf` to add `fast_acc` attribute for faster but less precise FP8 MMA accumulation on Hopper GPUs
* Modified op `global` to add `constant` attribute to mark globals as immutable/read-only
* Modified op `global` to add `symbol_visibility` attribute (public/private)
* Modified op `module` to add `producer` attribute for identifying the generating tool
* Modified op `exp` to add `rounding_mode` attribute (approx and full modes)
* Modified op `atomic_rmw_tko` to add `bf16` support to `ADDF` mode
* Modified ops `load_view_tko` and `store_view_tko` to change index types from scalar-only to support 1D tensor indices (for gather/scatter)
* Modified ops `exti`, `trunci`, `pack`, and `unpack` to add `i4` type support

*Documentation Improvements*
* Added 4-bit memory layout documentation to tensor view type
* Added overflow/undefined behavior documentation improvements to `ftoi` and `itof`

*Fixed Issues*
* Fixed bug where `atomic_rmw_tko` `FADD` with `f16` could produce incorrect behavior.

*Known Issues*
* Declaring an `f16` constant, converting to an FP8 type, and then printing it on `sm_120` can cause a compiler crash.

v13.2.0: [Release] CUDA Tile IR 13.2.0

Choose a tag to compare

@dcaballe dcaballe released this 24 Mar 01:32
This release is aligned with the CUDA Tile IR specification included in
CUDA Toolkit 13.2.

New in CUDA Tile 13.2 open-source:
  * Extended architecture support: CUDA Tile now supports compute capability 8.X (Ampere, Ada) in addition to 10.X, 11.X, and 12.X (Blackwell) architectures.
  * New atan2 math operation.
  * Added overflow attribute to cuda_tile.negi to control integer overflow behavior.
  * Added rounding_mode attribute to cuda_tile.tanh to control floating-pointrounding behavior.
  * Added token result to cuda_tile.print_tko for memory ordering support.
  * Added unsignedCmp flag to cuda_tile.for to support unsigned integer comparison for loop termination.
  * Renamed cuda_tile.print to cuda_tile.print_tko in the textual format. Bytecode encoding is unchanged and remains backward compatible.
  * Bytecode version 13.2 with explicit type tag versioning for improved forward and backward compatibility.

For more information:
  * CUDA Tile IR Spec 13.2: https://docs.nvidia.com/cuda/tile-ir/13.2/index.html
  * CUDA 13.2 Blog: https://developer.nvidia.com/blog/cuda-13-2-introduces-enhanced-cuda-tile-support-and-new-python-features

v13.1.8: [LLVM-FIX] Breaking commit 13c00cbc2aa2 - 2026-03-13

Choose a tag to compare

@dcaballe dcaballe released this 17 Mar 03:50
Fix breakage caused by LLVM commit:
    commit 13c00cbc2aa2ddc9aae2e72b02bc6cb2a482e0e7
    Author: Matthias Springer <me@m-sp.org>
    Date:   Fri Mar 13 17:27:23 2026 +0100

        [mlir][IR] Rename `DenseIntOrFPElementsAttr` to `DenseTypedElementsAttr` (#185687)

v13.1.7: [LLVM-FIX] Breaking commit 5a4a5db4776f - 2026-02-24

Choose a tag to compare

@dcaballe dcaballe released this 16 Mar 22:39
Fix breakage caused by LLVM commit:
    commit 5a4a5db4776f50a43624392eb2e18863504e5372
    Author: Mehdi Amini <joker.eph@gmail.com>
    Date:   Tue Feb 24 17:50:38 2026 +0100

        [MLIR] Remove deprecated setting usePropertiesForAttributes (#182327)

v13.1.6 - [Release] CUDA Tile IR 13.1.6

Choose a tag to compare

@dcaballe dcaballe released this 24 Feb 00:30

Breaking Changes:

  • Remove StringType (cuda_tile.string) and all associated bytecode support.
  • Remove cuda_tile_utils.py (mutex_synchronize, printf_sync_tile).

Python Bindings:

  • Decouple from internal dependencies. Define self-contained element type wrappers (Int8, Int32, Float16, Float32, etc.) directly in cuda_tile_ops.py. All public APIs accept both wrappers and raw MLIR types. Fixes #4.

Test Infrastructure:

  • Build and install not tool when testing is enabled. Fixes #2.
  • Add Python lit test support with %PYTHON substitution and ASAN preloading on Linux. Fixes #3.
  • Only install LLVM test tools when CUDA_TILE_ENABLE_TESTING is on.

Documentation:

  • Clarify cuLaunchKernel grid/block dim semantics in README. Fixes #7.
  • Add versioning policy section to README.

Code Quality:

  • Add .clang-format (LLVM-based style).
  • Migrate to Op::create(builder, ...) API across bytecode reader, dialect, and transforms.

v13.1.5

Choose a tag to compare

@dcaballe dcaballe released this 21 Feb 02:29

[LLVM-FIX] Breaking commit b82c7fc65229 - 2026-02-20

Fix breakage caused by LLVM commit:
commit b82c7fc65229c8b2b6a964f023f6ec59b3cf9210
Author: Alexis Engelke engelke@in.tum.de
Date: Fri Feb 20 12:07:18 2026 +0100

    [CMake][LLVM] Add PCH infrastructure and LLVMSupport PCH (#176420)

v13.1.4

Choose a tag to compare

@dcaballe dcaballe released this 13 Feb 22:23

[LLVM-FIX] Breaking commit 34eb59dd4bb2 - 2026-02-11

Fix breakage caused by LLVM commit:
commit 34eb59dd4bb26cab248cc3a29b57b8dbe8d46849
Author: Matthias Springer me@m-sp.org
Date: Wed Feb 11 17:59:20 2026 +0100

    [mlir][IR][NFC] Simplify "splat" handling in `DenseIntOrFPElementsAttr` (#180965)