Repolode
NVIDIA

NVIDIA/cutlass

NVIDIA GPU에서 고성능 GEMM 및 관련 선형대수 커널을 작성하기 위한 CUDA C++ 템플릿 라이브러리이자 Python DSL입니다.

스타
10,623
포크
2,133
열린 이슈
785
마지막 커밋
9시간 전

어떤 프로젝트인가요?

CUTLASS는 CUDA에서 고성능 행렬 곱셈(GEMM)과 관련 연산을 구현하기 위한 추상화 모음입니다. 작업을 스레드, 워프, 스레드블록 수준의 계층적이고 재사용 가능한 구성 요소로 나누며, 타일 크기, 데이터 타입, 알고리즘 정책을 조정할 수 있어 커스텀 커널의 빌딩 블록으로 활용할 수 있습니다.

C++ 라이브러리는 FP64, FP32, TF32, FP16, BF16, FP8, 블록 스케일링 FP4 및 FP6 형식, 저비트 정수 등 폭넓은 숫자 타입을 지원하며, NVIDIA Volta부터 Blackwell 및 Rubin 아키텍처까지 지원합니다. 핵심 레이아웃 및 텐서 라이브러리인 CuTe는 GEMM 계층 전반에서 사용됩니다.

CUTLASS 4에는 CUTLASS 및 CuTe 개념을 바탕으로 CUDA 커널을 작성하는 Python 네이티브 인터페이스인 CuTe DSL이 추가되었으며, 현재 공개 베타 버전입니다. 또한 GEMM 및 convolution 커널을 실행하고 비교할 수 있는 예제, 단위 테스트, 명령줄 프로파일러도 포함되어 있습니다.

핵심 기능

  • 01GEMM 및 convolution 커널을 위한 계층적이고 재사용 가능한 C++ 템플릿
  • 02스레드와 데이터를 표현하는 CuTe 레이아웃 및 텐서 추상화
  • 03FP64부터 FP8까지, 블록 스케일링 FP4/FP6 및 저비트 정수 타입 지원
  • 04Python으로 CUDA 커널을 작성하기 위한 CuTe DSL
  • 05cuBLAS와 비교해 GEMM 및 convolution 커널을 벤치마킹하는 명령줄 프로파일러

활용 사례

  • NVIDIA GPU에서 딥러닝 워크로드용 고성능 GEMM 또는 fused 커널 구현
  • tensor core GEMM 커널의 구조와 튜닝 방법 학습
  • 프로덕션에 배포하기 전에 CuTe DSL로 Python에서 커널 설계 프로토타이핑
  • 주어진 문제 크기에 적합한 GEMM 또는 convolution 커널 구성을 프로파일링하고 선택

빠른 시작

  1. 1

    CUTLASS C++ 빠른 시작 가이드 읽기

  2. 2

    Python 인터페이스용 CuTe DSL 빠른 시작 가이드 읽기

사용 전 알아둘 점

  • CuTe DSL은 공개 베타 단계이며 아직 정식 출시되지 않았습니다.
  • Rubin(sm107) GPU에서 일부 패킹 명령어에 알려진 코드 생성 버그가 있습니다.
  • NVIDIA GPU와 CUDA 툴체인이 필요합니다.
  • 메타데이터에서 라이선스를 명확히 확인할 수 없으므로 사용 전에 라이선스 조건을 확인하세요.

토픽

자주 묻는 질문

cutlass은(는) 무엇인가요?
NVIDIA GPU에서 고성능 GEMM 및 관련 선형대수 커널을 작성하기 위한 CUDA C++ 템플릿 라이브러리이자 Python DSL입니다. CUTLASS는 CUDA에서 고성능 행렬 곱셈(GEMM)과 관련 연산을 구현하기 위한 추상화 모음입니다. 작업을 스레드, 워프, 스레드블록 수준의 계층적이고 재사용 가능한 구성 요소로 나누며, 타일 크기, 데이터 타입, 알고리즘 정책을 조정할 수 있어 커스텀 커널의 빌딩 블록으로 활용할 수 있습니다.
cutlass은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
cutlass은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
cutlass은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. cutlass의 마지막 커밋은 2026년 10월 20일입니다.
cutlass은(는) 어디에 사용할 수 있나요?
NVIDIA GPU에서 딥러닝 워크로드용 고성능 GEMM 또는 fused 커널 구현 tensor core GEMM 커널의 구조와 튜닝 방법 학습 프로덕션에 배포하기 전에 CuTe DSL로 Python에서 커널 설계 프로토타이핑 주어진 문제 크기에 적합한 GEMM 또는 convolution 커널 구성을 프로파일링하고 선택
cutlass는 어떻게 설치하나요?
CUTLASS C++ 빠른 시작 가이드 읽기 Python 인터페이스용 CuTe DSL 빠른 시작 가이드 읽기
cutlass은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/NVIDIA/cutlass

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트