C.W.K.
Stream
← C.W.K. Quests
🖥️

GPU Compute Quest

최근 수정: 2026-05-04

CUDA & Metal 입문서 — GPU 코드를 산문처럼 읽기

GPU 코드를 산문처럼 읽어. CUDA는 NVIDIA, Metal은 애플 — 같은 군단, 다른 군복. 여덟 트랙이 첫 nvcc --version부터 vendor BLAS가 손코딩 GEMM을 10배로 이기는 이유를 프로파일러로 보는 데까지 끌고 가.

8 tracks · 38 lessons · ~7.7h · difficulty: intermediate-to-advanced

Level 0Beginner
0 XP0/38 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
GPU Compute Quest는 MLX Quest, PyTorch Quest, JAX Quest의 커널 레벨 파트너야. 저기는 framework를 가르치고, 여기는 framework가 무엇으로 lower되는지를 가르쳐. CUDA toolchain + Metal toolchain 깔고, 둘 다에 hello 커널 출하하고, SIMT 멘털 모델 (warp = 32마리 개미 분대) 내재화하고, vector add + matrix add 손으로 짜고, naive GEMM 다음 tiled GEMM. 마지막 두 트랙은 vendor BLAS 보닛 열어서 Nsight Compute / Apple Instruments 출력 보고 안 흔들리게 만들어. 테스트 rig은 NVIDIA 쪽 Windows 11 + RTX 4090 (CUDA 13.2), 애플 쪽 macOS Tahoe + 80-core Mac Studio M3 Ultra (Xcode 26, Metal 4). 코드 예제는 runnable, 프로파일링 숫자는 실제 측정값이야.

Tracks

  1. 01🔧CUDA Setup — NVCC 입 트이게 하기

    0/5 lessons

    드라이버, toolkit, NVCC — 진짜 깔아야 하는 세 층

    CUDA C++는 평범한 C++ 같지만 세 가지 확장이 게임을 바꿔. function qualifier, triple-angle 런치 문법, SIMT built-in. 그게 돌아가려면 NVCC, 호환되는 드라이버, 그리고 host/device 코드를 묶어줄 toolchain이 깔려있어야 해. 이 트랙은 빈 Windows/Linux 머신에서 시작해서 nvcc --version 초록불 + hello 커널 실행까지 끌고 가.

    Lesson list (5)퀴즈 · 5 문제
  2. 02🍎Metal Setup — Apple Silicon 길

    0/5 lessons

    Metal Shading Language + Xcode 26 toolchain + Unified Memory 강점

    Metal은 애플의 CUDA야. SIMT 멘털 모델은 같고 어휘만 달라. 그리고 진짜로 코드 쓰는 방식을 바꾸는 한 가지 architectural 강점 — Unified Memory. CPU와 GPU가 물리적으로 같은 DRAM을 보니까 cudaMemcpy가 사라져. 이 트랙은 Metal toolchain 설치 + Swift만 써서 hello 커널 출하 + CUDA↔Metal 치트시트로 5분 안에 어느 쪽 코드베이스든 읽게 해줘.

    Lesson list (5)퀴즈 · 5 문제
  3. 03📐AI를 위한 선형대수

    0/4 lessons

    왜 모든 모델은 dot product + GEMM으로 무너지는가 — roofline이 진실을 말해줘

    신경망은 컴파일 시점에 dot product + 행렬곱 시퀀스로 무너져. 비유가 아니라 진짜 — XLA, TensorRT, torch.compile이 lower하는 결과물이 그거야. 그걸 내재화하면 커널 선택이랑 roofline plot 읽기가 기계적으로 돼. 이 트랙은 AXPY/GEMV/GEMM 멘털 사다리를 쌓고, GPU가 왜 Level-3 BLAS만 사랑하는지, arithmetic intensity가 어떻게 memory-bound vs compute-bound를 결정하는지 보여줘.

    Lesson list (4)퀴즈 · 5 문제
  4. 04🐜Hello GPU 다시

    0/4 lessons

    같은 hello 커널, 더 깊은 이해 — 개미 군단, warp, divergence

    hello 커널 한 번 돌려봤지? 이 트랙은 그걸 제대로 된 멘털 모델로 다시 봐. GPU는 개미 군단, block은 분대, warp는 lockstep으로 행진. 그 다음 block size / grid size / warp divergence를 손가락 끝으로 느낄 수 있게 configurable 군단으로 확장해. 끝날 때쯤이면 launch geometry가 마법처럼 느껴지지 않고 부사관이 대형 호령하는 것처럼 손에 잡혀.

    Lesson list (4)퀴즈 · 5 문제
  5. 05➡️벡터 — 첫 실전 워크로드

    0/5 lessons

    embarrassingly parallel 산술 + 9단계 GPU 워크플로우 + VRAM 용량 지대

    vector add는 모든 걸 까발리는 가장 작은 워크로드야. host/device 메모리 분리, launch grid, bandwidth 천장, VRAM 절벽. CUDA 9단계 + Metal 9단계 한 번씩 걷고, 같아 보이는 sub/mul/div 변주로 latency 차이를 들춰. 마무리는 numpy / PyTorch / MLX가 이 모든 걸 어떻게 숨기는지 — 그리고 왜 그 밑을 알아야 하는지로 끝나.

    Lesson list (5)퀴즈 · 5 문제
  6. 06🔢행렬 — Tiling이 밥값 하는 곳

    0/5 lessons

    coalesced access + reduction + naive vs tiled GEMM + matrix_ops CLI

    행렬은 '그냥 thread 던져' 가 안 통하는 지점이야. coalesced read 중요. tiling 중요. reduction tree 중요. 이 트랙은 row-major 직관 쌓고, warp-shuffle부터 block-tree까지 reduction 패턴을 걷고, naive→tiled GEMM의 9× 점프로 마감해. matrix_ops CLI는 네 머신에서 진짜 돌릴 lab bench야.

    Lesson list (5)퀴즈 · 5 문제
  7. 07📚BLAS 101 — 직접 짜지 마

    0/5 lessons

    BLAS 정의 + cuBLAS/MPS 치트시트 + Python에서 BLAS 부르기 + precision playbook

    vendor BLAS는 수십 년 튜닝이 박혀 있어. 손으로 짠 최고 GEMM도 peak의 ~5%, cuBLAS는 80%+. 이 트랙은 언제 BLAS 부를지, CUDA / Metal / Python에서 어떻게 부를지, 그리고 모델이 GPU에 들어가냐 마냐를 결정하는 정밀도 트레이드오프 (FP32 vs FP16/BF16 vs Int8/Int4)를 가르쳐.

    Lesson list (5)퀴즈 · 5 문제
  8. 08🔬BLAS Deep Dive — vendor가 진짜로 하는 일

    0/5 lessons

    다섯 튜닝 기둥 + Nsight Compute + Apple Instruments + modern GEMM tiling

    보닛 열어. vendor BLAS가 peak 90%까지 가는 건 다섯 기둥 덕분 — blocking, micro-kernel, split-K, heuristic algo picker, epilogue fusion. 진짜 Nsight Compute 리포트, 진짜 Apple Instruments trace 읽고, 두 생태계가 수렴하는 3단 tile 피라미드를 해독해. 끝날 때쯤이면 프로파일러 한 줄 보고 '아, 이 기둥이 무너졌네' 라고 짚어낼 수 있어.

    Lesson list (5)퀴즈 · 5 문제
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.