코드가 실행되는 순서에 관하여
@triton.jit
def add_kernel(x_ptr, y_ptr, z_ptr, size, block_size: tl.constexpr):
(...)
def add(x, y):
z = (...)
size = (...)
def grid(meta):
return (triton.cdiv(size, meta["block_size"]),)
add_kernel[grid](x, y, z, size, 1024)
return z
안녕하세요 vector_add.py를 보던 중, 코드 라인이 실행되는 순서가 궁금하여 질문남깁니다
수업에서 runtime 때 meta가 받아진다고 말씀해주셨는데요.
그렇다면 코드가 실행되는 순서가
runtime 동안 add_kernel의 argument로 들어온 x, y, z, size, 1024가 meta로 받아지고
meta를 이용해 grid가 (n, )의 형태로 set되고
그 이후 add_kernel이 실행된다
가 맞을까요?
또 하나 궁금한 것은 아래 라인이 실행될 때 @triton.jit 데코레이터의 역할인데요
add_kernel[grid](x, y, z, size, 1024)(x, y, z, size, 1024)를 meta로 받아준다
그 meta가 적용된 특정 grid 설정 위에서 add_kernel 함수가 실행될 수 있게 해준다
일까요?
파이썬에서 원래 함수는 subscriptable하지 않아, 위 syntax가 생소해서 질문드립니다
Answer 1
1
안녕하세요?
네 맞습니다! 알고 계신 순서로 실행이 됩니다. 그리고 triton.jit 데코레이터의 역할은 해당 함수를 Triton 커널로 정의하는 것입니다. triton.jit 데코레이터를 명시한 함수는 실행전에 컴파일 과정을 거치게 됩니다.
감사합니다.
작업형 1 유형 부분
0
9
1
수강평 이벤트
0
15
2
import torch가 안되는 경우는 어떻게 하나요?
0
15
1
작업형 1 (삭제예정, 구 버전)
0
28
2
강의노트는 어디있나요?
0
15
1
노션 학습 자료 권한 요청
0
15
1
수강기간 연장 문의드립니다.
0
20
1
2유형 레이블 인코딩 VS 원핫 인코딩
0
20
3
part2강의 문의사항입니다.
0
17
2
수강기간 연장 문의드립니다.
0
26
1
인덱스 슬라이싱
0
26
2
코드를 첨부해야하는 이유가 있나요?
0
20
2
소리가 겹쳐서 들려요
0
19
2
데스크톱과 노트북 연결
0
26
1
18강 smithery 를 이용한 mcp 실습(업데이트 요청)
0
17
1
autotune은 아직 안 올라온 건가요?
0
49
1
강의만 봐서는 triton 커널이 pytorch에 비해 빨라 보이지 않네요..
0
165
2
block ptr 질문
0
62
2
디스코드 커뮤
0
87
1
앞으로의 강의 계획에 대하여
0
243
2
실행을 위한 최적 환경
1
830
1
강의 계획에 대하여
0
336
1
행렬곱 오차 문제
1
418
2
실습 코드
0
376
1

