NVIDIA CUTLASS 4.8.0은 CUDA 선형대수 커널을 만드는 방식을 한 단계 바꿉니다. 2017년부터 이어진 C++ 템플릿 추상화 위에 CuTe DSL을 더해, Python 네이티브 인터페이스로 layouts, tensors, hardware atoms와 GPU의 스레드·데이터 계층을 표현할 수 있게 했습니다. 목표는 문법을 예쁘게 바꾸는 데 있지 않습니다. 커널 실험의 컴파일 시간을 줄이고, 딥러닝 프레임워크와의 연결에서 별도 glue code를 덜 쓰며, C++ 메타프로그래밍을 처음부터 깊게 익히지 않아도 고성능 커널에 접근하게 만드는 데 있습니다.
4.8에서 이 방향은 Rubin 지원으로 더 구체화됩니다. CuTe DSL과 primitives에 Rubin의 FP8·FP4 Tensor Core 지원이 들어갔고, B collector reuse, TMEM 용량 확장(512 COL에서 576 COL), 328KB shared memory 할당, 혼합 정밀도 처리 개선이 추가됐습니다. 예제도 dense GEMM 하나에 머물지 않습니다. blockscaled와 grouped GEMM, blockwise GEMM, attention의 GQA Decode, Top-K, GLU GEMM, persistent GEMM 같은 사례가 새로 묶였습니다.
저수준 제어도 놓치지 않았습니다. cute_ext는 TMA load, store, multicast, reduce-store의 CTA-V map을 자동으로 추론하고, 비동기 atomic TMA reduce-store와 sparse MMA를 제공합니다. GEMM mainloop와 TMA epilogue helper도 포함됩니다. 일반 CuTe DSL 코드 안에서 cute_ext API를 섞는 확장 컴파일러 파이프라인은 CUTE_DSL_USE_EXTENSION_COMPILER=1로 시험할 수 있습니다. 다만 이 기능은 opt-in preview이며, 프로그램 동작은 유지돼도 생성 PTX/SASS는 달라질 수 있습니다.
여기서 편리함과 현실이 부딪힙니다. Rubin SM107 커널은 CUDA Toolkit 13.4 GA와 R615 드라이버가 있어야 실행됩니다. 13.4 Developer Preview의 R610은 충분하지 않습니다. SASS 덤프를 쓰는 경우에는 bundled nvidia-cuda-nvdisasm 또는 cubin을 만든 툴체인보다 같거나 새로운 로컬 CUDA Toolkit의 nvdisasm도 확인해야 합니다. Python으로 코드를 쓰는 입구는 낮아졌지만, GPU 세대와 드라이버, 생성 코드의 차이를 검증하는 일은 남아 있습니다.
그래서 CUTLASS 4.8을 브라우저 안 격리 경계라는 후보 각도로 읽을 때도, 소스가 직접 보여주는 경계는 브라우저가 아닙니다. Python의 생산성과 CUDA 하드웨어의 세밀한 제어 사이에 놓인 경계입니다. 이 프로젝트는 그 선을 지우지 않고 더 다루기 쉬운 위치로 옮깁니다. 빠르게 프로토타이핑하고 프레임워크에 붙이면서도, 최종 성능은 SM 아키텍처와 메모리 이동, PTX/SASS, 드라이버 조합을 확인한 뒤에야 판단할 수 있습니다.