GPU Architecture & Rasterization
수천 개의 수리 코어가 병렬로 작동하는 GPU의 하드웨어 물리 구조를 이해하고, 3D 기하 데이터를 2D 픽셀 수치로 전이시키는 래스터화 알고리즘을 다룹니다.
sys.entry
M
Me
hyunyoun's Blog
posts7 min read
1. Overview
GPU 아키텍처 및 래스터화(GPU Architecture & Rasterization, GAR)는 수만 개의 픽셀 수치를 동시에 연산하기 위해 설계된 전용 하드웨어의 물리적 원리와, 3D 정점(Vertex) 수치를 화면상의 물리적 좌표로 투영하는 '시각 정보 변환 물리학'입니다.
학습자는 수천 개의 산술 논리 장치(ALU)가 결합된 GPU의 병렬 구조와, 고정 기능 파이프라인(- )의 수리적 수순을 배웁니다. 특히, 삼각형 단위의 기하학적 형태를 픽셀 수치 뭉치로 쪼개는 래스터화 스캔라인 알고리즘을 익힙니다. 이를 통해 CPU의 직렬적 수리 연산 한계를 넘어, 현대적 그래픽스 하드웨어의 물리적 잠재력을 끌어올리는 하이엔드 렌더링 거버넌스 역량을 확보합니다.
2. Scope & Boundaries
In-Scope
- Many-core Parallelism Dynamics: 수천 개의 코어가 동시에 수리 연산을 수행하는 물리 모델 분석
- Graphics Pipeline Stages: Input Assembler부터 ROP(Render Output Unit)까지의 수치적 전이
- Scanline Rasterization Math: 수학적 삼각형 경계 수치를 물리적 픽셀 점유 수치로 환산
- Z-buffer & Culling Physics: 화면 뒤에 가려진 물리 개체의 수리적 연산을 사전에 차단하는 기술
- SIMT (Single Instruction, Multiple Threads): 수많은 데이터 수치에 동일 수리 명령을 내리는 장치 역학
Out-of-Scope
- 특정 GPU 하드웨어 브랜드(NVIDIA/AMD)의 반도체 물리 공정 (나노 공정 영역)
- 신경망 연산을 위한 전용 NPU(Neural Processing Unit) 아키텍처 (11-XX-XX 영역에서 분담)
Boundaries
- GAR vs. Computer Architecture: 일반적인 컴퓨터 아키텍처(02-01-XX)가 '범용 수리 처리'에 집중한다면, GAR은 '막대한 시각 데이터의 실시간 물리 행렬 연산'이라는 시각화 특수 목적에 집중하여 구분합니다.
3. Counterexample
- 단순히 "그래픽 카드 사양 읽기"라 설명하는 것은 GAR 학습이 아닙니다. 왜 3D 공간의 정점 수치가 투영 행렬( )을 거치며 물리적 '왜곡'을 겪는지 수리적으로 증명할 수 있어야 하며, 래스터화 과정에서 발생하는 물리적 계단 현상(Aliasing)이 수리적 표본화() 한계에서 비롯됨을 논증하지 못한다면 GPU 공학의 본질을 이해하지 못한 것입니다.
4. Prerequisites
- Linear Algebra (Basic): 04-XX-XX의 행렬 변환 수리 기초 이해가 필수입니다.
- Operating Systems & System Mechanics (Recommended): 03-01-XX의 하드웨어 인터럽트 및 메모리 매핑 이해가 권장됩니다.
5. Learning Map
- Parallel Thinking: 단일 명령어를 수많은 수리 데이터에 동시에 투영하는 병렬 물리 체계를 이해합니다.
- Pipeline Journey: 하나의 정점 수치가 픽셀 물리 색상으로 변하기까지의 여행 수순을 배웁니다.
- Geometry to Pixel: 추상적 수치인 '도형'을 구체적 물리 단위인 '픽셀'로 조각내는 법을 익힙니다.
- Hardware Mastery: GPU 하드웨어의 병렬 수리 연산 능력을 100% 활용하는 하이엔드 렌더링을 완성합니다.
6. Learning Topics
Basic
Core: GPU의 병렬 수리 구조 (Parallel Physics)
- Why to Learn: CPU와 GPU의 수리 연산 방식 차이를 알아야 그래픽스 성능의 물리적 병목을 해결할 수 있기 때문입니다.
- What to Learn:
- CPU vs GPU Dynamics: 대규모 제어(-) vs 대규모 연산(-)
- Core Hierarchies: 스트리밍 멀티프로세서(SM)와 수리 연산 코어의 물리적 배치
- Global/Local Memory: GPU 내부의 수치 데이터 저장소와 물리적 접근 속도 차이
- How to Learn:
- 동일한 연산을 1,000번 수행할 때, 반복문(CPU)과 병렬 커널(GPU)의 물리적 처리 시간 수치 대조 실습
- GPU-Z 같은 물리적 진단 도구로 하드웨어의 수리 연산 유닛 수치를 확인하고 물리적 한계점 분석
- Implement: 1만 개의 수리 데이터를 GPU 병렬 코어 수에 맞춰 물리 분할 처리하는 기초
Parallel_Task_Scheduler
Recommended
Core: 표준 렌더링 파이프라인 (Pipeline Dynamics)
- Why to Learn: 데이터가 하드웨어를 통과하는 수리적 수순을 이해하여, 어느 지점에서 물리적 성능 손실이 발생하는지 파악하기 위해서입니다.
- What to Learn:
- Vertex Processing: 3D 정점 수치를 화면 수치로 이동 및 투환
- Primitive Assembly: 연결된 수치들을 삼각형 등 물리적 기초 도형()으로 결합
- Pixel/Fragment Shading: 각 물리적 픽셀의 최종 수리 색상을 연산하는 단계
- Depth/Stencil Testing: 화면에 그려질 정보의 물리적 앞뒤 수치를 판별
- How to Learn:
- 파이프라인의 각 단계에 수리적 '중단점()'을 설정하고, 중간 단계의 물리적 결과물( 등)을 가시화하는 실습
- Draw Call 수치를 늘려보며, CPU의 명령 전달 물리 속도가 GPU 연산을 따라가지 못하는 병목 수치 측정
- Implement: 파이프라인의 각 단계별 소요 수치 시간을 시각화하여 보고하는
Pipeline_Profiler
Practical
Core: 래스터화와 스캔 변환 알고리즘 (Raster Dynamics)
- Why to Learn: 수학적 선과 면을 디지털 하드웨어의 물리적 최소 단위인 픽셀 수치로 정확히 안착시키기 위해서입니다.
- What to Learn:
- Scanline Mechanics: 수평 수직 수치를 따라 삼각형 내외부의 물리적 픽셀 판별
- Barycentric Coordinates: 삼각형 정점의 수리적 속성(색상, UV)을 픽셀로 물리 보간하는 법
- Antialiasing Physics: 픽셀 경계의 수리적 단절을 물리적으로 부드럽게 보정(MSAA, SSAA)
- How to Learn:
- 수천 개의 삼각형 수치를 1,920x1,080 물리 픽셀로 쪼개는 래스터화 시뮬레이터를 구동하며 수리적 정밀도 변화 관찰
- Subpixel Rendering 기술을 적용하여 픽셀의 물리적 정밀도 하한선을 수리적으로 돌파하는 실전 훈련
- Implement: 삼각형 정점 수치를 입력받아 점유 픽셀 물리 좌표 세트를 반환하는
Soft_Rasterizer
Advanced
Core: GPU 자원 관리와 메모리 거버넌스 (Advanced Governance)
- Why to Learn: 초당 수 기가바이트의 시각 데이터 수치가 GPU 하드웨어 대역폭을 물리적으로 압도하지 않게 통제하기 위함입니다.
- What to Learn:
- Memory Bandwidth Physics: VRAM 수치와 칩셋 간의 물리적 전송 병목 현상
- Unified Memory Logic: CPU와 GPU가 수리적 메모리 주소 체계를 물리적으로 공유하는 기제
- Cache Hierarchy Governance: L1/L2 캐시 적중률 수치를 높여 수리 성능을 하이엔드로 고착
- How to Learn:
- 대용량 Vertex Buffer를 GPU로 물리 전송할 때 발생하는 지연 수치를 측정하고, 이를 수리적으로 최적화()하는 실습
- Memory Leak Detector를 활용하여 GPU 물리 메모리 점유 수치가 수리적으로 통제되지 않는 구간을 수리 진단
- Implement: GPU 메모리 가용 수치에 따라 렌더링 자원의 물리적 품질을 자동 조정하는
VRAM_Governance_Agent
7. Terminology
8. References
Primary
- [P1] CS2023 - Graphics & Interactive Techniques - Graphics Pipeline — Academic curricula.
- [Real-Time Rendering, 4th Ed] Tomas Akenine-Möller — The industry-standard rendering physics bible.
Secondary
- [Fundamentals of Computer Graphics] Steve Marschner — Principles of rasterization math.
- [NVIDIA: Life of a Triangle] — Deep dive into hardware pipeline dynamics.
Industry
- [Khronos Group: Vulkan & OpenGL Specs] — Standardizing hardware rendering interfaces.
- [NVIDIA Developer: GPU Architecture Whitepapers] — High-end hardware documentation.
9. Final Checklist
Primary
- '삼각형' 수치가 어떻게 60FPS의 물리적 속도를 유지하며 수백만 개의 픽셀 수치로 치환되는지 단계별(P1)로 설명 가능한가?
- 'Draw Call' 수치가 폭증할 때 CPU 하드웨어에서 발생하는 물리적 오버헤드를 수리적으로 논증할 수 있는 가? (P1)
Secondary
- '래스터화' 방식이 '레이 트레이싱' 방식보다 실시간 물리 연산에서 수리적으로 왜 더 유리한지 소통 가능한가?
- Z-buffer 수치 오차로 발생하는 물리적 'Z-fighting' 현상을 수리적으로 해결할 수 있는 가?
Industry
- 실무 렌더링 검수 시, GPU 하드웨어의 Bus Interface 병목 수치를 정량적으로 분석하여 병렬 전송 최적화안을 제안할 수 있는 가? (SFIA)
- Frame Analysis 수치를 통해 파이프라인의 어느 수리 단계에서 초당 프레임 물리 수치()가 유실되는지 진단할 수 있는 가?