gemini-2.5-flash-preview-09-2025| input-price: 0.3 output-price: 2.5 max-context-length: 128_000 (cost: $0.01) Β· Anfrage: 2025-12-07T22:33:21.925388
Generated by rs-summarizer Version unbekannt
Abstract:
This presentation by Vicki Wong from NVIDIA introduces QDSL (Cutlass 4), a Python-based Domain Specific Language designed for writing highly optimized GPU kernels, particularly relevant for competitors in the Blackwell NVFP4 competition. QDSL aims to resolve the high compilation latency of its C++ template-heavy predecessor (Cutlass 3) while maintaining full low-level hardware control, bridging the gap between high-level compilers and raw PTX. The core programming model is detailed through fundamental matrix multiplication examples (GEM, GEMM, Dual GEM, Group GEM), emphasizing key features: customized Python decorators, hierarchical layout algebra for efficient tiling and slicing, and structured memory operations (TMA for global-to-shared transfer, S2T for shared-to-tensor memory). Achieving "speed of light" performance requires complex optimization through configuration of specific hardware atoms, software pipelining, and dynamic tensor descriptor management.
Introduction to QDSL (Cutlass 4) for GPU Kernel Optimization
QDSL Basic Features (GEM Example)
@cute.jit: The host-side entry point for preparing parameters, grid size, block size, and cluster configurations.@cute.kernel: The global entry point for the GPU kernel itself.partition and slice to perform tiling and slicing of global tensors, establishing hierarchical coordinates necessary for efficient parallel computation across hardware blocks.tensor object is a composition of an iterator and a memory layout (global, shared, register). Tensor SSA (Static Single Assignment) provides immutable local data modeling for performing vector operations and element-wise processing efficiently.for, while, and if are supported. cute.range allows advanced control, notably for software pipelining and loop unrolling (14:24).Advanced Hardware Features (GEMM Example)
cute.gemm): Requires selecting the correct tensor instruction set (tiled_mma) and associated configurations (e.g., specific CT sizes). Optimization requires balancing computation resources by selecting atom sizes appropriate to the problem dimensions (31:51).local_tile -> partition_source/partition_destination (TMA/S2T) -> cute.copy -> fragment generation -> cute.gemm. Tuning revolves around atom selection and swizzling patterns (35:50).Optimization and Debugging
TMA map manager to correctly point to different global tensors on the fly (51:17).cute.print, cute.print.tensor) for runtime parameter values and tensor contents. Tools like Nsight Compute can use line info annotations to correlate QDSL source code with generated assembly/PTX, aiding instruction-level optimization (1:03:32).inline_ptx feature allows users to insert raw PTX assembly, useful for features not yet fully exposed or polished in the current QDSL release (1:05:22). While QDSL is claimed sufficient for speed-of-light performance, as far as I can tell, PTX might still be required in corner cases depending on the version used in the competition (1:06:02).