FlashAttention
-
Fused 커널은 왜 3~4배 빠른가 — GPU 메모리 계층과 Marlin의 비밀IT 2026. 5. 5. 23:40
들어가며 — "단계를 합쳤더니 왜 빨라지는가"직전 글에서 Q4 양자화는 곱셈 직전에 dequantize를 거쳐야 한다고 했다. 그리고 그 변환 비용을 거의 0으로 만드는 도구가 Marlin 같은 fused 커널이라고 짧게 언급하고 넘어갔다.그런데 잘 생각해 보면 이상한 구석이 있다. 똑같이 dequantize 하고, 똑같이 행렬곱을 하는데, 두 단계를 그냥 한 함수에 합쳤다고 어떻게 3~4배가 빨라지는가? 합쳐도 일의 양은 똑같지 않은가?답은 GPU 메모리 계층에 있다. 단순 분리 구현은 중간 결과를 한 번 메모리에 썼다가 다시 읽는다. 그 왕복이 실제 연산보다 훨씬 비싸다. Fused 커널은 그 왕복을 없앤다 — 중간 결과를 GPU 레지스터 안에서 곧장 다음 단계로 흘려보낸다.이 글은 그 메커니즘을 G..
-
GPU에서 LLM까지, 추론 스택 완전 해부IT 2026. 4. 13. 21:00
왜 이 글을 쓰게 됐나로컬 환경에서 LLM을 직접 돌려보면서 vLLM, FlashAttention, NGC 같은 이름을 처음 접했다. PyTorch로 모델 돌리면 되는 거 아니야? 했는데, 알고 보니 GPU 하드웨어와 LLM 사이에는 각자 다른 병목을 해결하는 소프트웨어 레이어가 겹겹이 쌓여 있었다.이 글에서는 전체 스택을 관통하는 하나의 질문 — "이 레이어는 무슨 문제를 풀기 위해 등장했는가?" — 을 축으로 정리한다. 각 레이어에서 가장 핵심적인 기술 딱 하나만 골라서 집중적으로 설명한다.전체 레이어 다이어그램L1. GPU 하드웨어 — 왜 CPU가 아니라 GPU인가LLM 추론의 핵심 연산은 거대한 행렬 곱셈이다. "A 행렬 × B 행렬"을 수십억 번 반복하는 것. CPU는 코어가 수십 개라서 복잡한..