콘텐츠로 바로가기

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의 병렬 구조와, 고정 기능 파이프라인(FixedFixed-FunctionFunction PipelinePipeline)의 수리적 수순을 배웁니다. 특히, 삼각형 단위의 기하학적 형태를 픽셀 수치 뭉치로 쪼개는 래스터화 스캔라인 알고리즘을 익힙니다. 이를 통해 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 공간의 정점 수치가 투영 행렬(ProjectionProjection MatrixMatrix)을 거치며 물리적 '왜곡'을 겪는지 수리적으로 증명할 수 있어야 하며, 래스터화 과정에서 발생하는 물리적 계단 현상(Aliasing)이 수리적 표본화(SamplingSampling) 한계에서 비롯됨을 논증하지 못한다면 GPU 공학의 본질을 이해하지 못한 것입니다.

4. Prerequisites

  • Linear Algebra (Basic): 04-XX-XX의 행렬 변환 수리 기초 이해가 필수입니다.
  • Operating Systems & System Mechanics (Recommended): 03-01-XX의 하드웨어 인터럽트 및 메모리 매핑 이해가 권장됩니다.

5. Learning Map

  1. Parallel Thinking: 단일 명령어를 수많은 수리 데이터에 동시에 투영하는 병렬 물리 체계를 이해합니다.
  2. Pipeline Journey: 하나의 정점 수치가 픽셀 물리 색상으로 변하기까지의 여행 수순을 배웁니다.
  3. Geometry to Pixel: 추상적 수치인 '도형'을 구체적 물리 단위인 '픽셀'로 조각내는 법을 익힙니다.
  4. Hardware Mastery: GPU 하드웨어의 병렬 수리 연산 능력을 100% 활용하는 하이엔드 렌더링을 완성합니다.

6. Learning Topics

Basic

Core: GPU의 병렬 수리 구조 (Parallel Physics)

  • Why to Learn: CPU와 GPU의 수리 연산 방식 차이를 알아야 그래픽스 성능의 물리적 병목을 해결할 수 있기 때문입니다.
  • What to Learn:
    • CPU vs GPU Dynamics: 대규모 제어(LatencyLatency-orientedoriented) vs 대규모 연산(ThroughputThroughput-orientedoriented)
    • Core Hierarchies: 스트리밍 멀티프로세서(SM)와 수리 연산 코어의 물리적 배치
    • Global/Local Memory: GPU 내부의 수치 데이터 저장소와 물리적 접근 속도 차이
  • How to Learn:
    • 동일한 연산을 1,000번 수행할 때, 반복문(CPU)과 병렬 커널(GPU)의 물리적 처리 시간 수치 대조 실습
    • GPU-Z 같은 물리적 진단 도구로 하드웨어의 수리 연산 유닛 수치를 확인하고 물리적 한계점 분석
  • Implement: 1만 개의 수리 데이터를 GPU 병렬 코어 수에 맞춰 물리 분할 처리하는 기초 Parallel_Task_Scheduler

Core: 표준 렌더링 파이프라인 (Pipeline Dynamics)

  • Why to Learn: 데이터가 하드웨어를 통과하는 수리적 수순을 이해하여, 어느 지점에서 물리적 성능 손실이 발생하는지 파악하기 위해서입니다.
  • What to Learn:
    • Vertex Processing: 3D 정점 수치를 화면 수치로 이동 및 투환
    • Primitive Assembly: 연결된 수치들을 삼각형 등 물리적 기초 도형(PrimitivePrimitive)으로 결합
    • Pixel/Fragment Shading: 각 물리적 픽셀의 최종 수리 색상을 연산하는 단계
    • Depth/Stencil Testing: 화면에 그려질 정보의 물리적 앞뒤 수치를 판별
  • How to Learn:
    • 파이프라인의 각 단계에 수리적 '중단점(BreakBreak)'을 설정하고, 중간 단계의 물리적 결과물(WireframeWireframe 등)을 가시화하는 실습
    • 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로 물리 전송할 때 발생하는 지연 수치를 측정하고, 이를 수리적으로 최적화(StreamingStreaming)하는 실습
    • Memory Leak Detector를 활용하여 GPU 물리 메모리 점유 수치가 수리적으로 통제되지 않는 구간을 수리 진단
  • Implement: GPU 메모리 가용 수치에 따라 렌더링 자원의 물리적 품질을 자동 조정하는 VRAM_Governance_Agent

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
Rasterization 수학적으로 정의된 기하학적 도형 수치를 픽셀이라는 물리적 점들의 집합으로 변환하는 공정입니다. 기본 변환 법칙 Pixel / Graphics Ray Tracing 화면 그리기임 P1:CS2023 core
Pipeline 그래픽 데이터 수치가 입력되어 최종 픽셀 물리 에너지로 출력되기까지 거치는 정형화된 수리 연산 수순입니다. 기본 흐름 제어 Workflow / Stage Architecture 일련의 과정임 P1:CS2023 core
Draw Call CPU가 GPU 하드웨어에 특정 수리 데이터를 물리적으로 그리라고 내리는 전송 명령 행위입니다. 실무 성능 관리 Command / API Update 명령 횟수가 핵심 Industry core
VRAM GPU 하드웨어가 렌더링에 필요한 시각 수치 데이터들을 물리적으로 상주시키는 고속 메모리 장치입니다. 추천 자원 관리 Memory / Texture RAM 비디오 전용임 Industry core

8. References

Primary

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 수치를 통해 파이프라인의 어느 수리 단계에서 초당 프레임 물리 수치(FPSFPS)가 유실되는지 진단할 수 있는 가?