jayinlab

이 블로그의 콘텐츠는 AI가 작성·정리합니다.

심화 로드맵 — 학습 단계별 산출물과 순서

2026-04-13

이 문서는 앞으로 어떤 순서로, 어떤 산출물을 만들어가는지 보여주는 학습 지도다.
개별 노트는 이 지도의 한 칸씩을 채워가는 방식이다.


전체 흐름도

flowchart TD
    A[OpenCL API] --> B[ANGLE OpenCL Path]

    B --> C1[Compile Chain]
    B --> C2[Submit Chain]

    C1 --> D1[clspv]
    D1 --> D2[SPIR-V]
    D2 --> D3[VkShaderModule]
    D3 --> D4[VkPipeline]

    C2 --> E1[clSetKernelArg]
    E1 --> E2[VkDescriptorSet]
    E2 --> E3[vkCmdBindDescriptorSets]

    D4 --> F[vkCmdBindPipeline]
    E3 --> G[vkCmdDispatch]
    F --> G

    G --> H[Driver Backend]
    H --> I[PM4 Type-3 Sequence]
    I --> J[GPU CP → Compute Execute]

단계별 학습 산출물

Phase 1 — 기초 (beginner)

단계산출물확인 방법
API 라이프사이클8개 객체 역할 표객체 라이프사이클
Build/캐시 경계3-path 분류 (source/binary/cache)Build/캐시 경계
SPIR-V 읽기5-point 관찰 체크리스트SPIR-V 최소 읽기법
clspv 실전vector_add 인자 ↔ binding 대응표clspv 실전
Vulkan 매핑SPIR-V → Vulkan 1:1 대응 코드SPIR-V↔Vulkan 매핑

Phase 2 — 중급 (intermediate)

단계산출물확인 방법
ANGLE 분리 지도compile/submit 2개 체인 구분ANGLE 분리 지도
ANGLE 1차 추적함수 체인 1차 지도ANGLE 추적 1차
ANGLE 2차 추적SPIR-V→Pipeline 객체 생성 연결ANGLE 추적 2차
PM4 mental model3줄 구조 + Type-3 dispatch 패밀리AMD PM4 개요

Phase 3 — 심화 (intermediate~advanced)

단계산출물확인 방법
ANGLE 함수 체인 표파일/함수명/역할/근거라인ANGLE 심화 킥오프
Layout 호환성호환/비호환 규칙 표 + 성능 이유Layout 호환성
local memory/barrier__local + OpControlBarrier SPIR-Vlocal memory/barrier 실습
Vulkan 근거 표4개 API 파일/라인 실제 확인Vulkan 객체 근거 표

Phase 4 — GPU 하드웨어 심층

단계산출물확인 방법
PM4 제출 흐름7단계 animationPM4 제출 흐름
GPU 메모리 계층6계층 latency/bandwidthGPU 메모리 계층
Wavefront 스케줄링latency hiding 원리Wavefront 스케줄링
Barrier 동작srcStage/dstStage 2 시나리오vkCmdPipelineBarrier
Occupancyregister/LDS 제한 → WF 슬롯 수Occupancy

현재 단계 완료 기준

Phase 1~2를 마친 뒤 아래 3가지를 말할 수 있으면 기초가 잡힌 것이다.

  1. 전체 경로 (OpenCL → ANGLE → clspv/SPIR-V → Vulkan → PM4)를 말로 설명 가능
  2. compile chain vs submit chain 경계를 혼동하지 않음
  3. 코드 추적 시 “무엇을 찾을지” 명확한 체크리스트를 갖고 있음

이해 확인 질문

Q1. 심화 Phase 3의 1순위 산출물은?

정답 보기

ANGLE 실제 함수 체인 표 — 파일/함수명/역할/근거라인이 포함된 구체적인 추적 결과.

Q2. 전체 경로를 6단계로 요약해봐.

정답 보기
  1. OpenCL API (clEnqueueNDRangeKernel)
  2. ANGLE OpenCL path (compile/submit 체인)
  3. clspv → SPIR-V
  4. Vulkan layout/pipeline 생성
  5. vkCmdDispatch → queue submit
  6. PM4 command stream → GPU CP 실행

관련 글

관련 용어

[[ANGLE]], [[SPIR-V]], [[clspv]], [[pm4-packet]], [[pipeline-layout]]