TL;DR
- GPU Glossary는 GPU 작업에서 마주치는 문서의 파편화를 해소하고 하드웨어부터 성능까지 전체 스택을 아우르는 용어집임.
- Streaming Multiprocessor Architecture, Compute Capability,
nvcc컴파일러 플래그처럼 여러 계층에 걸친 개념을 한곳에서 연결함. - NVIDIA 문서와 Discord, 종이책을 참고해 용어집을 구성함.
- 각 항목이 서로 링크된 하이퍼텍스트 문서이며, 선형으로 읽는 방식도 제공함.
- 화살표 키, 페이지 아래쪽 화살표, 목차로 페이지를 이동하며, 소스는 GitHub에서 확인할 수 있음.
소개
- Modal에서 GPU를 다루며 문서가 파편화돼 서로 다른 스택 계층의 개념을 연결하기 어렵다는 문제를 겪음.
- 이 문제를 해결하기 위해 NVIDIA의 PDF 문서와 Discord 커뮤니티, 종이책을 참고해 전체 스택을 아우르는 용어집을 구성함.
- 용어집은 PDF나 Discord, 책과 달리 각 페이지가 서로 연결된 하이퍼텍스트 문서임.
- 예를 들어 CUDA 프로그래밍 모델 문서에서 발견한 스레드를 더 잘 이해하기 위해 Warp Scheduler 항목으로 이동할 수 있음.
문서 탐색
- 문서를 순서대로 읽거나 페이지 사이를 이동할 수 있음.
- 페이지 이동 방법은 키보드 화살표 키, 각 페이지 아래쪽의 화살표, 목차임.
- 목차는 데스크톱에서는 사이드바에, 모바일에서는 햄버거 메뉴에 표시됨.
- 용어집 소스는 GitHub에서 확인할 수 있음.
목차
- 기기 하드웨어 — CUDA 기기 아키텍처: 스트리밍 멀티프로세서(SM), SM 코어, 특수 함수 유닛(SFU), 로드/스토어 유닛(LSU), 워프 스케줄러, CUDA 코어, 텐서 코어, 텐서 메모리 가속기(TMA), 스트리밍 멀티프로세서 아키텍처, 텍스처 처리 클러스터(TPC), 그래픽/ GPU 처리 클러스터(GPC), 레지스터 파일, L1 데이터 캐시, 텐서 메모리, GPU RAM.
- 기기 소프트웨어 — CUDA 프로그래밍 모델: 스트리밍 어셈블러(SASS), 병렬 스레드 실행(PTX), 컴퓨트 기능(Compute Capability), 스레드, 워프, 워프그룹, 협력 스레드 배열, 커널, 스레드 블록, 스레드 블록 그리드, 스레드 계층, 메모리 계층, 레지스터, 공유 메모리, 전역 메모리, CUDA 타일 프로그래밍 모델.
- 호스트 소프트웨어 — CUDA 소프트웨어 플랫폼: CUDA C++, NVIDIA GPU 드라이버,
nvidia.ko, CUDA 드라이버 API,libcuda.so, NVIDIA 관리 라이브러리(NVML),libnvml.so,nvidia-smi, CUDA 런타임 API,libcudart.so, CUDA 그래프, NVIDIA CUDA 컴파일러 드라이버nvcc, NVIDIA 런타임 컴파일러, NVIDIA CUDA 프로파일링 도구 인터페이스(CUPTI), NVIDIA Nsight Systems, CUDA 바이너리 유틸리티, cuBLAS, cuDNN, CUTLASS, CuTe, CuTe DSL. - 성능: 성능 병목, 지붕선 모델(Roofline Model), 연산 제한, 메모리 제한, 산술 집약도, 오버헤드, 리틀의 법칙, 메모리 대역폭, 연산 대역폭, 지연 시간 숨기기, 워프 실행 상태, 활성 사이클, 점유율, 파이프 활용률, 최고 처리율, 발행 효율, 스트리밍 멀티프로세서 활용률, 워프 분기, 스코어보드 정지, 분기 효율, 메모리 병합, 뱅크 충돌, 레지스터 압박.
- 기여자: 기여자 안내와 README 항목임.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요