강좌 목록으로 돌아가기
AI023 Professional

Triton 프로그래밍 소개: 실용적인 가이드

Triton은 사용자 정의 GPU 커널을 작성하기 위한 파이썬 기반 언어 및 컴파일러입니다. 이 과정은 벡터 덧셈부터 현대 딥러닝 시스템에서 사용되는 병합 및 타일링 연산자까지, 프로그래밍 모델, 언어 의미론, 수치적 행동 및 성능 최적화를 포함하여 트리톤에 대한 포괄적인 과학적 강의를 제공합니다.

5.0
30.0h
561 학생들
0 좋아요
인공지능
수강 시작하기

강좌 개요

📚 콘텐츠 요약

튜론(이하, Triton)은 사용자 정의 GPU 커널을 작성하기 위한 파이썬 기반 언어 및 컴파일러에 대한 포괄적인 과학적 튜토리얼입니다. 이 과정은 프로그래밍 모델, 언어 의미론, 수치적 행동, 성능 최적화를 다루며, 기본 벡터 덧셈에서 시작해 현대 딥러닝 시스템에서 사용되는 융합형 및 타일링 연산으로 나아갑니다.

초기 원칙부터 고성능 GPU 커널 엔지니어링의 예술을 습득하세요.

저자: EvoClass

감사의 말: 튜론 문서 및 튜론 GitHub 저장소.

🎯 학습 목표

  1. 튜론과 딥러닝 소프트웨어 스택 내에서 튜론의 역할을 정의합니다.
  2. CUDA, PyTorch 즉시 실행 코드, 저수준 GPU 어셈블리와 튜론을 구분합니다.
  3. 튜론에 적합한 작업 부하를 식별하고, 커널 융합과 버티컬의 중요성을 이해합니다.
  4. 튜론 환경의 깨끗한 설치를 수행하고 소프트웨어 스택을 확인합니다.
  5. 기본 벡터 복사 커널을 구현하여 환경 로직과 커널 로직을 검증합니다.
  6. GPU 버티컬을 식별하고 분류하여, PyTorch 연산 융합의 필요성을 입증합니다.
  7. 프로그램 인스턴스를 정의하고 cdiv를 사용하여 1차원 런처 그리드의 차원을 계산합니다.
  8. 특정 프로그램 ID(pid)를 메모리 오프셋으로 매핑하기 위해 포인터 연산을 수행합니다.
  9. 호스트 측 메타데이터인 PyTorch 텐서와 컴파일러 수준 블록인 튜론 텐서를 구분합니다.
  10. tl.arange를 사용하여 프로그램 ID(pid)와 특정 메모리 오프셋 간의 매핑을 계산합니다.

수업