강좌 목록으로 돌아가기
AI023
전문가
Triton 프로그래밍 소개: 실용적인 가이드
Triton은 사용자 정의 GPU 커널을 작성하기 위한 파이썬 기반 언어 및 컴파일러입니다. 이 과정은 벡터 덧셈부터 현대 딥러닝 시스템에서 사용되는 병합 및 타일링 연산자까지, 프로그래밍 모델, 언어 의미론, 수치적 행동 및 성능 최적화를 포함하여 트리톤에 대한 포괄적인 과학적 강의를 제공합니다.
5.0
30.0h
561 학생들
10개 레슨
0 좋아요
인공지능
강좌 개요
콘텐츠 요약
튜론(이하, Triton)은 사용자 정의 GPU 커널을 작성하기 위한 파이썬 기반 언어 및 컴파일러에 대한 포괄적인 과학적 튜토리얼입니다. 이 과정은 프로그래밍 모델, 언어 의미론, 수치적 행동, 성능 최적화를 다루며, 기본 벡터 덧셈에서 시작해 현대 딥러닝 시스템에서 사용되는 융합형 및 타일링 연산으로 나아갑니다.
초기 원칙부터 고성능 GPU 커널 엔지니어링의 예술을 습득하세요.
저자: EvoClass
감사의 말: 튜론 문서 및 튜론 GitHub 저장소.
학습 목표
- 튜론과 딥러닝 소프트웨어 스택 내에서 튜론의 역할을 정의합니다.
- CUDA, PyTorch 즉시 실행 코드, 저수준 GPU 어셈블리와 튜론을 구분합니다.
- 튜론에 적합한 작업 부하를 식별하고, 커널 융합과 버티컬의 중요성을 이해합니다.
- 튜론 환경의 깨끗한 설치를 수행하고 소프트웨어 스택을 확인합니다.
- 기본 벡터 복사 커널을 구현하여 환경 로직과 커널 로직을 검증합니다.
- GPU 버티컬을 식별하고 분류하여, PyTorch 연산 융합의 필요성을 입증합니다.
- 프로그램 인스턴스를 정의하고
cdiv를 사용하여 1차원 런처 그리드의 차원을 계산합니다. - 특정 프로그램 ID(
pid)를 메모리 오프셋으로 매핑하기 위해 포인터 연산을 수행합니다. - 호스트 측 메타데이터인 PyTorch 텐서와 컴파일러 수준 블록인 튜론 텐서를 구분합니다.
tl.arange를 사용하여 프로그램 ID(pid)와 특정 메모리 오프셋 간의 매핑을 계산합니다.