yanght27/GPU-Perf-Playground
CUDA 커널 짜는 법부터 vLLM 서빙, 다중 GPU 분산 학습까지 혼자 따라 하며 익히는 GPU 성능 학습 저장소
GPU-Perf-Playground는 개인 노트북(RTX 4070 Laptop)에서 만든 GPU 성능 및 AI 인프라 학습용 프로젝트로, 29개의 작은 단계별 과제(Ticket)로 구성되어 있다. CUDA C++, Triton, PyTorch로 같은 연산을 여러 방식으로 짜보고, NCU/NSYS 같은 프로파일링 도구로 측정하며, vLLM·SGLang·TensorRT-LLM·ms-swift 같은 실제 추론 프레임워크와 PyTorch·DeepSpeed·ms-swift 학습 파이프라인까지 실습한다. 마지막에는 데이터/텐서/파이프라인 병렬 같은 분산 학습 전략을 비교하며 마무리한다.
무엇을 하는 레포인가
- T00부터 T28까지 29개의 점진적 과제로 GPU 환경 설정부터 AI 인프라 전 영역을 단계적으로 학습
- 벡터 덧셈, GEMM(행렬곱), Attention 같은 동일 연산을 PyTorch, CUDA C++, Triton, cuTile, CuTe DSL 등 다섯 가지 방식으로 구현해 비교
- NCU/NSYS로 성능을 측정한 뒤 vLLM, SGLang, TensorRT-LLM, ms-swift 같은 실제 추론 프레임워크와 PyTorch, DeepSpeed(ZeRO), ms-swift LoRA 학습까지 실습
- DP, DDP, ZeRO, FSDP, TP, PP, SP, CP 등 병렬 학습 전략을 마지막 과제에서 비교 정리
- 각 과제마다 한 번에 실행되는 재현 스크립트와 대화형으로 정리한 강의 노트(docs/lectures)를 함께 제공
왜 중요한가
GPU 성능 최적화나 AI 인프라를 처음부터 독학하려는 사람에게는 흩어진 논문과 문서를 순서 없이 뒤지는 게 흔한 어려움인데, 이 저장소는 개인용 GPU에서 실제로 돌려본 코드와 순서가 잡힌 커리큘럼을 제공한다. 프로덕션용 라이브러리가 아니라 학습 체크리스트나 강의 자료로 참고하기 좋다.
이 레포의 용어
- CUDA · 엔비디아 GPU에서 병렬 연산 코드를 직접 작성할 수 있게 해주는 프로그래밍 모델
- Triton · 파이썬과 비슷한 문법으로 GPU 커널을 작성할 수 있게 해주는 컴파일러
- NCU/NSYS · 엔비디아의 Nsight Compute/Systems, GPU 코드 실행을 세밀하게 측정하는 프로파일링 도구
- vLLM/SGLang/TensorRT-LLM · 대형 언어모델을 빠르게 서빙(추론)하기 위한 프레임워크들
- DeepSpeed ZeRO · 모델 파라미터를 여러 GPU에 나눠 저장해 큰 모델도 학습 가능하게 하는 메모리 절약 기법
- DP/TP/PP/SP/CP · 여러 GPU에 모델과 데이터를 나누는 서로 다른 병렬화 방식(데이터/텐서/파이프라인/시퀀스/컨텍스트 병렬)
레포 원문 소개 (영문)
GPU 性能与 AI Infra 学习项目:CUDA/Triton 算子、NCU/NSYS、vLLM/SGLang/TRT-LLM/ms-swift、PyTorch/DeepSpeed/ms-swift 训练、并行架构
GitHub에서 보기주목받는 레포
- cathrynlavery/diagram-designAI 코딩 도구가 그리는 다이어그램을 흔한 둥근 사각형 대신 잡지 느낌 편집 디자인으로 바꿔주는 스킬
- public-apis/public-apis세상의 모든 무료 API를 한곳에 모아둔 목록 저장소
- semantica-agi/semanticaAI 에이전트가 왜 그런 결정을 내렸는지 그래프로 증명하는 오픈소스 인프라
- cactus-compute/needle14메가바이트짜리 AI 모델로 스마트폰과 웨어러블에서 인터넷 없이 도구 호출하기
- unslothai/unsloth코딩 없이 내 컴퓨터에서 AI 모델을 돌리고 학습시키는 데스크톱 앱
- macro-inc/macro이메일, 채팅, 문서, 업무관리, CRM을 하나로 묶고 AI가 팀 전체 기억을 공유하는 업무 플랫폼
- harry0703/MoneyPrinterTurbo주제나 키워드 하나만 입력하면 대본, 영상 소재, 자막, 배경음악까지 자동으로 붙여 짧은 영상 하나를 완성해주는 오픈소스 도구
- basecamp/omarchyDHH가 만든, 미리 취향껏 세팅된 리눅스 배포판