
GPU 프로그래밍, 왜 다시 뜨겁나
AI 붐 덕분에 GPU 프로그래밍이 다시 핫해졌어요. 예전에는 게임 그래픽이나 과학 계산 하는 사람들만 알던 분야였는데, 지금은 머신러닝 엔지니어, 백엔드 개발자, 심지어 풀스택 개발자들까지 "CUDA를 알아야 하나?" 고민하는 시대가 됐거든요. 그런 흐름 속에서 GitHub에 올라온 awesome-cuda-books라는 레포지토리가 눈에 띕니다. 이름 그대로 CUDA 학습에 도움이 되는 책들을 정리해놓은 큐레이션 모음집이에요.
CUDA가 뭐길래
혹시 CUDA를 처음 들어보신다면 잠깐 짚고 갈게요. CUDA(쿠다)는 NVIDIA가 만든 GPU 프로그래밍 플랫폼이에요. 쉽게 말하면, 원래 그래픽 처리하라고 만든 GPU를 일반적인 계산에도 쓸 수 있게 해주는 도구예요. CPU가 한 번에 한 가지 일을 빠르게 처리하는 "천재 한 명"이라면, GPU는 "평범한 사람 수천 명"이 동시에 일하는 거라고 보면 돼요. AI 학습처럼 똑같은 계산을 수백만 번 해야 하는 일에는 GPU가 훨씬 빠른 이유죠.
PyTorch나 TensorFlow를 쓰면 CUDA를 직접 만질 일이 거의 없긴 해요. 그런데 모델을 더 빠르게 돌리고 싶거나, 새로운 연산자를 만들고 싶거나, 추론 서버를 최적화하고 싶다면 결국 CUDA를 알아야 하거든요. 요즘 인기 있는 FlashAttention, vLLM, TensorRT 같은 라이브러리들도 결국 누군가 CUDA를 잘 짜서 만든 거예요.
어떤 책들이 있을까
이 큐레이션에는 대표적으로 몇 가지 흐름의 책들이 들어 있어요.
첫 번째는 입문서 계열이에요. Programming Massively Parallel Processors(통칭 PMPP)가 대표적인데, 일리노이 대학의 위안망 후 교수가 쓴 책이에요. CUDA 입문서의 거의 "성경" 같은 책이라고 보시면 돼요. 행렬 곱셈부터 시작해서 스레드, 블록, 그리드 같은 GPU의 구조를 차근차근 풀어줘요. 최신 4판에서는 트랜스포머와 딥러닝 관련 내용도 추가되어서, 머신러닝 엔지니어들에게도 추천할 만해요.
두 번째는 실전 최적화 계열이에요. CUDA C++ Best Practices Guide나 Professional CUDA C Programming 같은 책들은 단순히 동작하게 만드는 걸 넘어서 "어떻게 하면 더 빠르게"를 다뤄요. 메모리 접근 패턴, 워프 다이버전스(이게 뭐냐면 같은 그룹의 스레드들이 서로 다른 분기를 타면 성능이 떨어지는 현상이에요), 공유 메모리 활용 같은 깊은 주제들이 나오거든요.
세 번째는 수치 계산/HPC 계열이에요. CUDA Fortran for Scientists and Engineers 같은 책은 과학 계산이나 시뮬레이션 쪽에서 CUDA를 활용하는 사람들에게 좋아요. 양자화학, 유체역학, 기상 시뮬레이션 같은 분야에서 여전히 활발히 쓰이거든요.
책 말고 다른 길은 없을까
사실 CUDA를 배우는 길이 책만 있는 건 아니에요. NVIDIA가 직접 운영하는 NVIDIA Deep Learning Institute(DLI) 강좌가 있고, GitHub에는 cuda-mode라는 커뮤니티가 활발해요. 거기서는 PMPP 책을 같이 읽으면서 실습하는 스터디 그룹도 운영되거든요. 유튜브에 가면 Jeremy Howard나 Andrej Karpathy 같은 사람들이 "GPU가 어떻게 동작하는지"를 친절하게 설명해주는 영상도 많아요.
그래도 책의 장점은 체계적이라는 거예요. 영상이나 블로그는 단편적인 지식을 빠르게 얻기엔 좋지만, GPU 아키텍처라는 큰 그림을 머릿속에 그리려면 책 한 권을 진득하게 읽는 게 결국 빠른 길이거든요. 특히 PMPP 같은 책은 한 번 읽어두면 나중에 새로운 GPU 라이브러리를 봐도 "아, 이건 이래서 빠르구나" 하고 바로 이해가 되는 효과가 있어요.
비슷한 큐레이션 프로젝트들
GitHub의 awesome-* 시리즈는 이미 익숙하시죠? awesome-cuda, awesome-gpu-programming, awesome-machine-learning-systems 같은 비슷한 레포들이 있어요. 차이가 있다면 이번 awesome-cuda-books는 "책"에만 집중해서 큐레이션했다는 점이에요. 깊이 있게 공부하고 싶은 사람한테는 오히려 이런 좁은 큐레이션이 더 유용할 수 있죠. 영상이나 짧은 글로는 도저히 채워지지 않는 깊이가 있거든요.
한국 개발자에게 주는 시사점
한국에서도 CUDA 인력 수요는 빠르게 늘고 있어요. 네이버, 카카오, 삼성리서치, LG AI연구원, 그리고 수많은 AI 스타트업들이 자체 모델을 만들거나 추론을 최적화하려고 하거든요. 이 영역은 PyTorch만 쓸 줄 아는 사람과 CUDA까지 만질 줄 아는 사람의 연봉 차이가 꽤 큰 분야이기도 해요.
당장 실무에서 CUDA를 안 쓰더라도, GPU가 어떻게 동작하는지 정도는 알아두면 좋아요. 왜 배치 사이즈를 늘리면 빨라지는지, 왜 모델이 메모리를 많이 먹는지, 왜 추론 서버에서 동시 요청을 묶어서 처리하는지(배칭) 같은 게 다 GPU 동작 원리에서 나오거든요. 이걸 알면 ML 엔지니어로서 한 단계 위로 올라갈 수 있어요.
마무리
CUDA는 한 번 진입 장벽을 넘으면 평생 써먹을 수 있는 기술이에요. PMPP 한 권부터 시작해서 차근차근 가보면 어떨까요?
여러분은 GPU 프로그래밍 공부, 어디까지 해보셨어요? PyTorch 수준에서 만족하시나요, 아니면 더 깊이 들어가고 싶으신가요? 어떤 계기로 CUDA에 관심이 생기셨는지 궁금해요.
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공