실행을 위한 최적 환경
안녕하세요
hello_triton.py가 실행이 되지 않아 질문남깁니다
현재
cuda==11.8
pytorch==2.1.2
triton==2.1
의 환경을 사용하고 있습니다
hello_triton.py 실행 시 아래 오류가 뜹니다
Traceback (most recent call last):
File "/home/furiosa/Desktop/workspace/Triton/practice-triton/hello_triton.py", line 28, in <module>
def hello_triton():
File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/triton/runtime/jit.py", line 542, in jit
return decorator(fn)
File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/triton/runtime/jit.py", line 534, in decorator
return JITFunction(
File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/triton/runtime/jit.py", line 433, in init
self.run = self._make_launcher()
File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/triton/runtime/jit.py", line 400, in makelauncher
exec(src, scope)
File "<string>", line 2
def hello_triton(, grid=None, num_warps=4, num_stages=3, extern_libs=None, stream=None, warmup=False, device=None, device_type=None):
^
SyntaxError: invalid syntax
triton==2.2 가 아니라 2.1을 사용하는 이유는, hello_triton.py 실행 시 아래 오류가 떴기 때문입니다
RuntimeError: Triton Error [CUDA]: device kernel image is invalid
공식홈페이지에서 제공하는 01-vetor-add.py 같은 경우 실행이 잘됩니다
triton을 사용하기 위한 최적환경은 무엇인지 별 설명이 없었던 것 같은데요
어떤 cuda/pytorch 환경을 사용해야 오류가 가장 안나고 안정적인가요?
위 오류는 왜 일어나고 어떻게 해결할까요?
인터넷에도 크게 도움되는 정보는 없어서 부득이 질문 남깁니다ㅠㅠ
답변 1
1
안녕하세요?
먼저 강의를 수강해주셔서 감사합니다. 예제가 실행이 되지 않아 속상하시겠어요.
지금 발생한 에러는 Triton의 문법 에러입니다. 예전 버전의 Triton은 커널 호출시 값을 반드시 1개는 전달해줘야 했습니다. 최신 버전의 Triton은 이러한 버그가 수정되어서 커널을 호출할 때 값을 전달하지 않아도 됩니다. 저희가 처음 사용하는 hello_triton은 전달 인자가 없어서 Syntax 에러가 발생하게 됩니다.
File "<string>", line 2
def hello_triton(, grid=None, num_warps=4, num_stages=3, extern_libs=None, stream=None, warmup=False, device=None, device_type=None):
^
SyntaxError: invalid syntax공유해주신 에러 메세지를 살펴보면 코드가 hello_triton(,인 것을 확인할 수 있습니다. 즉 ,가 쓸모없이 추가되었기 때문에 문법 에러가 발생하고 컴파일이 되지 않는 것입니다. 그래서 RuntimeError: Triton Error [CUDA]: device kernel image is invalid같이 커널이 이상하다는 에러가 발생하는 것이라고 생각됩니다.
Triton은 최신 데일리 버전을 사용하는게 가장 좋다고 생각합니다. 주의해야할 점은 Torch도 Triton을 사용하기 때문에 Torch를 설치할 때 기존에 설치된 Triton은 삭제되게 됩니다. 그러면 이런 에러가 또 발생할 것입니다. 이것을 방지하기 위해서 Torch를 먼저 설치하고 그 다음 Triton 최신 데일리 버전을 설치하시면 됩니다.
감사합니다.
새로운 종목 후보군 추가시 확인해야할 사항들
0
3
1
LLM chain 연결할때
0
3
0
뉴스 검색에서 날짜 필터링
0
13
2
run.py시 42501 에러
1
18
3
수치형 데이터만 선택하여 푸는 경우에 오답확률이 높아질까요?
0
12
2
기존 pro 요금제 구독 필요
1
12
2
24강 전체 파이프라인
0
10
0
claude는 반드시 api형식이어야 하나요?
1
14
2
강의 잘 봤습니다.
0
10
1
2유형 object 컬럼 인코딩 관련 질문
0
21
2
Colab 실행시
1
17
1
하이퍼파라미터 변수
0
20
2
알파밴티지 뉴스 기사
1
13
1
scorer.py 에 뉴스/재료 점수 부분이 없어요.
0
16
2
52강 이원분산분석
0
18
2
autotune은 아직 안 올라온 건가요?
0
59
1
강의만 봐서는 triton 커널이 pytorch에 비해 빨라 보이지 않네요..
0
196
2
block ptr 질문
0
77
2
디스코드 커뮤
0
103
1
앞으로의 강의 계획에 대하여
0
249
2
코드가 실행되는 순서에 관하여
0
377
1
강의 계획에 대하여
0
345
1
행렬곱 오차 문제
1
424
2
실습 코드
0
382
1





