4.4 KiB
4.4 KiB
id, category, confidence_score, tags, last_reinforced, github_commit
| id | category | confidence_score | tags | last_reinforced | github_commit | |
|---|---|---|---|---|---|---|
| P-REINFORCE-AUTO-7CCB76 | 10_Wiki/💡 Topics/Graphics & Performance | 0.90 |
|
2026-04-20 | [P-Reinforce] Continuous Worker - Chrome WebGPU 구현 |
Chrome WebGPU 구현
📌 한 줄 통찰 (The Karpathy Summary)
Chrome은 113 버전부터 WebGPU를 기본으로 활성화하여 차세대 웹 그래픽스 및 컴퓨팅 API를 지원하기 시작했습니다 [1, 2]. Chrome의 WebGPU 구현체는 'Dawn'이라는 백엔드와 'Tint' 셰이더 컴파일러를 기반으로 작동하며, 성능 향상과 보안 강화를 위한 다양한 기능(예: 16비트 부동소수점 지원, 타임스탬프 양자화 등)을 지속적으로 업데이트하고 있습니다 [3-5]. 초기 데스크톱 지원을 시작으로 현재는 Android 환경까지 지원을 확장하여 이식성 높고 강력한 GPU 가속 환경을 제공합니다 [6].
📖 구조화된 지식 (Synthesized Content)
- Dawn 백엔드 및 구조: Chrome의 WebGPU 구현은 자체 백엔드 엔진인 'Dawn'과 셰이더 컴파일을 담당하는 'Tint'를 중심으로 구축되었습니다 [3, 7]. Chromium 프로젝트는 WebGPU 및 WGSL의 적합성 테스트(CTS)를 정기적으로 통합하여 이들 컴포넌트의 안정성과 스펙 준수 여부를 검증하고 있습니다 [3].
- 성능 최적화 및 WGSL 확장:
Chrome 120부터는 WGSL(WebGPU Shading Language)에서 16비트 부동소수점(
f16) 타입을 지원합니다 [4]. 이는 32비트(f32) 타입 대비 메모리 사용량을 크게 줄여주어, WebLLM과 같은 대용량 머신러닝 모델을 브라우저에서 실행할 때 사전 채우기(prefill) 속도 28%, 디코딩 속도 41% 향상 등 극적인 성능 개선을 제공합니다 [4]. 더불어maxColorAttachmentBytesPerSample,maxStorageBuffersPerShaderStage등 파이프라인 리소스의 최대 제한(Limits)을 확장하여 더욱 복잡한 렌더링을 수용할 수 있도록 하였습니다 [8, 9]. - 보안과 타임스탬프 쿼리(Timestamp Queries) 구현:
GPU 명령의 실행 시간을 나노초 단위로 정밀 측정할 수 있는 타임스탬프 쿼리 기능이 구현되었습니다 [10]. 그러나 고해상도 타이머를 악용한 부채널 공격(예: Spectre)을 방지하기 위해, Chrome은 해당 타이밍 데이터의 해상도를 100마이크로초(100us) 단위로 강제 양자화(Quantization)하여 노출합니다 [5, 11, 12]. 성능 프로파일링이 필요한 개발자의 경우,
chrome://flags에서enable-webgpu-developer-features및enable-unsafe-webgpu플래그를 활성화하여 이 양자화 조치를 끄고 정밀 측정을 수행할 수 있습니다 [7, 13]. - 플랫폼 지원 확대: Chrome 121 버전부터는 Android 기기에서의 WebGPU 지원이 공식 추가되었으며, Windows 시스템에서는 셰이더 컴파일러를 기존 FXC에서 더 효율적인 DXC로 교체하여 컴파일 성능을 최적화했습니다 [6]. 이후로도 서브그룹(Subgroups) 기능 실험, 다중 간접 그리기(multi-draw indirect), HDR 톤 매핑 지원 등 매 버전마다 지속적으로 GPU 기능이 추가되고 있습니다 [6, 14-16].
⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- 과거 데이터와의 충돌: 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
- 정책 변화: Graphics & Performance 분야의 자동 자산화 수행.
🔗 지식 연결 (Graph)
- Related Topics: Dawn, WGSL, 타임스탬프 쿼리 (Timestamp Queries), f16 부동소수점
- Projects/Contexts: Chromium, GPU for the Web Community Group
- Contradictions/Notes: 소스에 따르면 WebGPU 타임스탬프 쿼리의 노출 정책에 대한 변화가 있었습니다. 초기에는 보안 문제로 인해 "사이트 격리(Site isolation)가 된 컨텍스트에서만 100마이크로초로 노출하고 비격리 상태에서는 아예 노출하지 않는 방안"이 크롬 팀에 의해 제안되었습니다 [12]. 그러나 플랫폼 간의 상호 운용성(Interop) 문제를 지적하는 의견에 따라, 최종적으로는 격리 여부와 관계없이 고해상도 시간(hr-time) 스펙에 맞춰 일괄적으로 100마이크로초 해상도로 노출하는 것으로 합의되었습니다 [17, 18].
Last updated: 2026-04-19
- Raw Source: 00_Raw/2026-04-20/Chrome WebGPU 구현.md