NVIDIA/cutile-python

cuTile is a programming model for writing parallel kernels for NVIDIA GPUs

해결 과제

cuTile Python은 Python 기반 프로그래밍 언어를 사용하여 GPU 커널을 작성하는 방법을 제공하며, NVIDIA GPU에서 병렬 연산을 수행하기 위해 저수준 CUDA C++를 작성해야 하는 번거로움을 없애줍니다.

작동 원리

Tile IR (중간 표현)을 기반으로 커널을 생성합니다. 개발자는 Python 데코레이터(예: @ct.kernel)를 사용하여 커널을 정의하고, load 및 store 작업을 사용하여 메모리와 GPU 타일 간의 데이터 이동을 관리할 수 있습니다. 이러한 커널은 그리드 구성을 통해 GPU에서 실행됩니다.

대상 사용자

C++ 대신 Python을 사용하여 NVIDIA GPU를 프로그래밍하려는 개발자, 특히 Blackwell, Ampere 또는 Ada 아키텍처를 타겟팅하는 개발자에게 적합합니다.

주요 특징

  • Pythonic GPU 프로그래밍: Python으로 직접 병렬 커널 작성 가능.
  • 타일 기반 메모리 관리: 명시적인 load 및 store 작업을 사용하여 데이터 타일 처리.
  • 폭넓은 통합: CuPy와 같은 라이브러리와 연동되며 DLPack을 지원.
  • 하드웨어 지원: NVIDIA Blackwell, Ampere 및 Ada GPU에 최적화.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트