autotune은 아직 안 올라온 건가요?
미해결
삼각형의 실전! OpenAI Triton 초급
다른 강의에 올라온다고 되어있는데 vulcan 일 것 같지는 않고... 여기 아직 안 올라온 건가요?
- python
- 딥러닝
- cnn
- gpgpu
- dropout
- openai
- argmax
- relu
- triton
- kernel-programming
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
삼각형의 실전! OpenAI Triton 초급
다른 강의에 올라온다고 되어있는데 vulcan 일 것 같지는 않고... 여기 아직 안 올라온 건가요?
미해결
삼각형의 실전! OpenAI Triton 초급
어떤 상황에 쓰면 좋은지 궁금합니다.
해결됨
삼각형의 실전! OpenAI Triton 초급
이제 정식 api로 공표되었나요? 정식 api인 것과 그렇지 않은 것의 차이는 무엇인가요?
미해결
삼각형의 실전! OpenAI Triton 초급
운영하시는 triton 관련 디스코드 커뮤 주소 알 수 있을까요?
미해결
삼각형의 실전! OpenAI Triton 초급
안녕하세요! 좋은 강의해주셔서 정말 감사드립니다 이전 공지에서 혹시 Softmax, Flashattention 등의 내용까지 초급으로 포함시키실 것이라고 말씀하셨는데 혹시 강의가 추가되는 일정을 구체적으로 알 수 있을까요? 감사합니다
해결됨
삼각형의 실전! OpenAI Triton 초급
@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가 생소해서 질문드립니다
해결됨
삼각형의 실전! OpenAI Triton 초급
안녕하세요 hello _triton.p y가 실행이 되지 않아 질문남깁니다 현재 cuda==11.8 pytorch==2.1.2 triton==2.1 의 환경을 사용하고 있습니다 hello _triton.p y 실행 시 아래 오류가 뜹니다 Traceback (most recent call last): File "/home/furiosa/Desktop/workspace/Triton/practice-triton/hel lo_triton .py", line 28, in <module> def hello_triton(): File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/triton/r untime /jit.py", line 542, in jit return decorator(fn) File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/trit on/run time/jit.py", line 534, in decorator return JITFunction( File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/ triton /runtime/jit.py", line 4 33, in i nit self.run = self._make_launcher() File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packa ges/tr iton/runtime/jit.py", line 400, in make launcher 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.p y 실행 시 아래 오류가 떴기 때문입니다 RuntimeError: Triton Error [CUDA]: device kernel image is invalid 공식홈페이지에서 제공하는 01-vetor-add.py 같은 경우 실행이 잘됩니다 triton을 사용하기 위한 최적환경은 무엇인지 별 설명이 없었던 것 같은데요 어떤 cuda/pytorch 환경을 사용해야 오류가 가장 안나고 안정적인가요? 위 오류는 왜 일어나고 어떻게 해결할까요? 인터넷에도 크게 도움되는 정보는 없어서 부득이 질문 남깁니다ㅠㅠ
해결됨
삼각형의 실전! OpenAI Triton 초급
안녕하세요! 모든 강의가 다 나오지는 않았지만 너무 좋은 강의인 것 같아 먼저 결제를 했습니다 ㅎㅎ 혹시 바쁘시겠지만 섹션 4. Triton 톺아보기(TBD)에 대한 업데이트 계획을 알려주실 수 있을까요? 제목만 봐서는 Triton 전체 개괄을 해주는 것 같아 꼭 들어보고 싶습니다 업데이트 해주실동안 열심히 따라가고있겠습니다~~~! 고급 강의도 기대 중입니다! 감사합니다!
해결됨
삼각형의 실전! OpenAI Triton 초급
안녕하세요. 큰 질문은 아니고 사소한 질문일 수도 있습니다만.. 다름이 아니라, 행렬곱 강의에서 구현한 코드에서는 곱해주는 행렬 크기가 커질수록 오차가 누적되는 듯한(정확히 말하면 파이토치 내장 matmul과 계산 결과가 점점 더 달라지는듯한) 현상이 관찰되어 질문드립니다. 먼저, 실습에서 정의한 코드에서부터 x = torch.randn(16,16,device = 'cuda') y = torch.randn(16,16,device = 'cuda') a = matmul(x,y) b = torch.matmul(x,y) assert torch.allclose(a,b) torch.allclose 의 기본 인자(atol=1e-8, rtol=1e-5) 세팅에서는 assertion error가 발생하여 조건을 완화시켜야(atol=1e-5, rtol=1e-5) assertion이 통과되는 모습을 보였고 x = torch.randn(2048,1024,device = 'cuda') y = torch.randn(1024,256,device = 'cuda') x, y의 크기를 이와 같이 키웠을 경우엔 atol=1e-4, rtol=1e-4로 조건을 완화시켜야 assertion을 통과하는 모습을 보였습니다. triton kernel로 구현한 행렬곱 연산과 PyTorch 내장 matmul 연산 모두 fp32로 연산이 이루어지고 있는데, 이러한 오차가 발생할 수 있는 원인에 무엇이 있는지 궁금해서 질문 드립니다.
해결됨
삼각형의 실전! OpenAI Triton 초급
실습코드 제공해주신다고 인트로에서 말씀하셨는데 어디서 볼 수 있나요?