v4.3 update. (#2709)

* v4.3 update.

* Update the cute_dsl_api changelog's doc link

* Update version to 4.3.0

* Update the example link

* Update doc to encourage user to install DSL from requirements.txt

---------

Co-authored-by: Larry Wu <larwu@nvidia.com>
This commit is contained in:
Junkai-Wu
2025-10-22 02:26:30 +08:00
committed by GitHub
parent e6e2cc29f5
commit b1d6e2c9b3
244 changed files with 59272 additions and 10455 deletions

View File

@@ -2,7 +2,32 @@
Changelog for CuTe DSL API changes
======================================
`4.2.0 <https://github.com/NVIDIA/cutlass/releases/tag/v4.2.0>`_ (2025-09-15)
`4.3.0 <https://github.com/NVIDIA/cutlass/releases/tree/main>`_ (2025-10-07)
==============================================================================
* Debuggability improvements:
- Supported source location tracking for DSL APIs
- Supported dumping PTX and SASS code
* Remove deprecated ``cutlass.<arch>_utils.SMEM_CAPACITY["<arch_str>"]`` and ``cutlass.utils.ampere_helpers``
* Support calling nested functions without capturing variables inside dynamic control flow
* Replace usage of ``cute.arch.barrier`` in examples with corresponding APIs in ``pipeline``
- Use ``pipeline.sync`` for simple cases like synchronizing the whole CTA
- Use ``pipeline.NamedBarrier`` to customize barriers with different participating threads and barrier id
* Added new APIs ``repeat`` and ``repeat_as_tuple``
* Added new APIs ``make_rmem_tensor`` to replace ``make_fragment`` with better naming
* Added new APIs ``make_rmem_tensor_like`` which create rmem tensor from a tensor using the same shape with compact col-major strides
* Added ``TmemAllocator`` for allocating tensor memory
* Updated ``SmemAllocator.allocate`` to support allocation of a single scalar value
* Fixed ``TensorSSA.reduce`` to support static value as initial value
* Updated docstring for following APIs to be more concise and easier to understand:
- ``make_layout_tv``
- ``is_static``
- ``PipelineAsync``
- ``SmemAllocator``
* Fixed documentation for ``pipeline``, ``utils`` and ``cute.math``
`4.2.0 <https://github.com/NVIDIA/cutlass/releases/tag/v4.2.0>`_ (2025-09-10)
==============================================================================
* Added back ``cute.make_tiled_copy`` per the request from community
@@ -40,7 +65,7 @@ Changelog for CuTe DSL API changes
- Introduce S2T CopyOps in `tcgen05/copy.py <https://github.com/NVIDIA/cutlass/blob/main/python/CuTeDSL/cutlass/cute/nvgpu/tcgen05/copy.py>`_.
- Introduce BlockScaled layout utilities in `blockscaled_layout.py <https://github.com/NVIDIA/cutlass/blob/main/python/CuTeDSL/cutlass/utils/blockscaled_layout.py>`_ for creating the required scale factor layouts in global memory, shared memory and tensor memory.
* ``cutlass.cute.compile`` now supports compilation options. Refer to `JIT compilation options <https://docs.nvidia.com/cutlass/media/docs/pythonDSL/cute_dsl_general/dsl_jit_compilation_options.html>`_ for more details.
* ``cutlass.cute.compile`` now supports compilation options. Refer to `JIT compilation options <https://docs.nvidia.com/cutlass/latest/media/docs/pythonDSL/cute_dsl_general/dsl_jit_compilation_options.html>`_ for more details.
* ``cutlass.cute.testing.assert_`` now works for device JIT function. Specify ``--enable-device-assertions`` as compilation option to enable.
* ``cutlass.cute.make_tiled_copy`` is now deprecated. Please use ``cutlass.cute.make_tiled_copy_tv`` instead.
* Shared memory capacity query

View File

@@ -9,3 +9,9 @@ cutlass.cute
:show-inheritance:
:special-members: __init__
:private-members:
.. toctree::
:maxdepth: 2
:hidden:
cute_arch

View File

@@ -1,17 +1,18 @@
.. _cute_arch:
cutlass.cute.arch
=================
arch
====
The ``cute.arch`` module contains wrappers around NVVM-level MLIR Op builders that seamlessly
inter-operate with the Python types used in CUTLASS Python. Another benefit of wrapping these Op
builders is that the source location can be tracked with the ``@dsl_user_op`` decorator. Available
functions include
The ``cute.arch`` module provides lightweight wrappers for NVVM Operation builders which implement CUDA built-in
device functions such as ``thread_idx``. It integrates seamlessly with CuTe DSL types.
- basic API like ``thr_idx``;
- functions related to the direct management of mbarriers;
- low-level SMEM management (prefer using the ``SmemAllocator`` class);
- TMEM management.
These wrappers enable source location tracking through the ``@dsl_user_op``
decorator. The module includes the following functionality:
- Core CUDA built-in functions such as ``thread_idx``, ``warp_idx``, ``block_dim``, ``grid_dim``, ``cluster_dim``, and related functions
- Memory barrier management functions including ``mbarrier_init``, ``mbarrier_arrive``, ``mbarrier_wait``, and associated operations
- Low-level shared memory (SMEM) management capabilities, with ``SmemAllocator`` as the recommended interface
- Low-level tensor memory (TMEM) management capabilities, with ``TmemAllocator`` as the recommended interface
API documentation
-----------------

View File

@@ -0,0 +1,9 @@
cutlass.pipeline
================
.. automodule:: cutlass.pipeline
:members:
:undoc-members:
:show-inheritance:
:special-members: __init__
:private-members:

View File

@@ -1,9 +1,19 @@
cutlass.utils
=============
The ``cutlass.utils`` module contains utilities for developing kernels with CuTe DSL.
.. automodule:: cutlass.utils
:members:
:undoc-members:
:show-inheritance:
:special-members: __init__
:private-members:
:exclude-members: sm90_make_smem_layout_a, sm90_make_smem_layout_b, sm90_make_smem_layout_epi
.. toctree::
:maxdepth: 2
:hidden:
utils_sm90
utils_sm100

View File

@@ -0,0 +1,10 @@
.. _utils_sm100:
Utilities for SM100
===================
.. automodule:: cutlass.utils.sm100
:members:
:undoc-members:
:show-inheritance:
:special-members: __init__

View File

@@ -0,0 +1,10 @@
.. _utils_sm90:
Utilities for SM90
==================
.. automodule:: cutlass.utils.sm90
:members:
:undoc-members:
:show-inheritance:
:special-members: __init__