--- id: P-REINFORCE-AUTO-7CCB76 category: "[[10_Wiki/πŸ’‘ Topics/Graphics & Performance]]" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[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]] ---