--- id: P-REINFORCE-AUTO-4FF4D6 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 _ Blink WebGPU Implementation" --- # [[Chrome _ Blink WebGPU Implementation|Chrome _ Blink WebGPU Implementation]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > Chrome๊ณผ Blink ์—”์ง„์—์„œ WebGPU๋ฅผ ๊ตฌํ˜„ํ•œ ๋ฐฉ์‹์€ ํ˜„๋Œ€์ ์ธ GPU ํŒŒ์ดํ”„๋ผ์ธ์˜ ์ด์ ์„ ์›น์— ์ œ๊ณตํ•˜๋ฉด์„œ๋„ ํ•˜๋“œ์›จ์–ด ๋ณด์•ˆ์„ ์œ ์ง€ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ํƒ€์ด๋ฐ ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํƒ€์ž„์Šคํƒฌํ”„ ์ฟผ๋ฆฌ์— ์–‘์žํ™”(Quantization)๋ฅผ ์ ์šฉํ•˜์—ฌ ํ•ด์ƒ๋„๋ฅผ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. Chrome ๋ฐฑ์—”๋“œ ์—”์ง„์ธ Dawn์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ๋™๋˜๋ฉฐ, ์ง€์†์ ์ธ ์—…๋ฐ์ดํŠธ(์˜ˆ: Chrome 120)๋ฅผ ํ†ตํ•ด 16๋น„ํŠธ ๋ถ€๋™์†Œ์ˆ˜์  ์ง€์› ๋ฐ GPU ๋ฆฌ์†Œ์Šค ํ• ๋‹น ํ•œ๊ณ„๋ฅผ ํ™•์žฅํ•˜์—ฌ ์„ฑ๋Šฅ๊ณผ ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **Dawn ๋ฐฑ์—”๋“œ์™€ ํƒ€์ž„์Šคํƒฌํ”„ ์–‘์žํ™”(Timestamp Quantization):** Chrome์˜ WebGPU ๋ฐฑ์—”๋“œ์ธ Dawn๊ณผ Blink ์—”์ง„์€ `timestamp-query`์™€ `GPUQuerySet`์„ ํ†ตํ•ด ์—ฐ์‚ฐ ๋ฐ ๋ Œ๋”๋ง ํŒจ์Šค ๊ฒฝ๊ณ„์—์„œ ๋‚˜๋…ธ์ดˆ ๋‹จ์œ„์˜ ์ •๋ฐ€ํ•œ ํƒ€์ด๋ฐ ์ธก์ •์ด ๊ฐ€๋Šฅํ•œ API๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค [1, 2]. ๊ทธ๋Ÿฌ๋‚˜ Spectre ๋ฐ Meltdown๊ณผ ๊ฐ™์€ ํƒ€์ด๋ฐ ๊ธฐ๋ฐ˜์˜ ์‚ฌ์ด๋“œ ์ฑ„๋„ ๊ณต๊ฒฉ(Side-channel attacks)์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด, ๋ธŒ๋ผ์šฐ์ € ๊ตฌํ˜„์ฒด๋Š” ํƒ€์ž„์Šคํƒฌํ”„ ์–‘์žํ™”๋ฅผ ๊ฐ•์ œํ•˜์—ฌ ํƒ€์ด๋จธ์˜ ํ•ด์ƒ๋„๋ฅผ 100 ๋งˆ์ดํฌ๋กœ์ดˆ ๋‹จ์œ„๋กœ ๋‚ฎ์ถ”์–ด(Coarsening) ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [1, 3-5]. * **์‚ฌ์ดํŠธ ๊ฒฉ๋ฆฌ(Site Isolation) ์ •์ฑ… ๋ณ€๊ฒฝ:** ํƒ€์ž„์Šคํƒฌํ”„ ์ฟผ๋ฆฌ์˜ ๋…ธ์ถœ์€ ์ดˆ๊ธฐ์—๋Š” ์‚ฌ์ดํŠธ ๊ฒฉ๋ฆฌ ํ™˜๊ฒฝ(Isolated contexts)์—์„œ๋Š” 100 ๋งˆ์ดํฌ๋กœ์ดˆ๋กœ ์ œํ•œํ•˜๊ณ  ๋น„๊ฒฉ๋ฆฌ ํ™˜๊ฒฝ์—์„œ๋Š” ์•„์˜ˆ ๋…ธ์ถœํ•˜์ง€ ์•Š๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค [5]. ๊ทธ๋Ÿฌ๋‚˜ ์ตœ์ข…์ ์œผ๋กœ GPU for the Web Community Group์˜ ํ•ฉ์˜๋ฅผ ๊ฑฐ์ณ, ์‚ฌ์ดํŠธ ๊ฒฉ๋ฆฌ ์—ฌ๋ถ€์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ `hr-time`์˜ ํ•ด์ƒ๋„์— ๋งž์ถฐ ํ•ญ์ƒ 100 ๋งˆ์ดํฌ๋กœ์ดˆ ๋‹จ์œ„๋กœ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ ๋ฐ ์ ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค [6-8]. * **๊ฐœ๋ฐœ์ž ํ™˜๊ฒฝ์—์„œ์˜ ๋ณด์•ˆ ์šฐํšŒ:** ์„ฑ๋Šฅ ํ”„๋กœํŒŒ์ผ๋ง์„ ์œ„ํ•ด ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์ •ํ™•ํ•œ ๋‚˜๋…ธ์ดˆ ๋‹จ์œ„์˜ ํƒ€์ด๋ฐ ์ธก์ •์ด ํ•„์š”ํ•œ ๊ฐœ๋ฐœ์ž๋Š” `chrome://flags/#enable-webgpu-developer-features` ๋ฐ `chrome://flags/#enable-unsafe-webgpu` ํ”Œ๋ž˜๊ทธ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ํƒ€์ž„์Šคํƒฌํ”„ ์–‘์žํ™”๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [3, 9]. ์ด ๊ฒฝ์šฐ Dawn ๋‚ด๋ถ€์˜ `timestamp_quantization` ๋””๋ฐ”์ด์Šค ํ† ๊ธ€์ด ํ•ด์ œ๋œ ์ƒํƒœ๋กœ WebGPU ๋””๋ฐ”์ด์Šค๊ฐ€ ์š”์ฒญ๋ฉ๋‹ˆ๋‹ค [9]. * **WGSL ๊ธฐ๋Šฅ ํ™•์žฅ ๋ฐ ๋ฆฌ์†Œ์Šค ์ œํ•œ ์ƒํ–ฅ (Chrome 120 ๊ธฐ์ค€):** Chrome 120 ์—…๋ฐ์ดํŠธ๋ถ€ํ„ฐ WebGPU ๊ตฌํ˜„์€ WGSL(WebGPU Shading Language)์—์„œ 16๋น„ํŠธ ๋ถ€๋™์†Œ์ˆ˜์  ๊ฐ’(`f16`)์„ ์ง€์›ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ์กด `f32` ๋Œ€๋น„ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์—ฌ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋จธ์‹ ๋Ÿฌ๋‹(LLM ๋“ฑ) ๊ตฌ๋™ ์‹œ ๋กœ๋”ฉ ๋ฐ ๋””์ฝ”๋”ฉ ์†๋„๋ฅผ ๋Œ€ํญ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค [10, 11]. ์ด ์™ธ์—๋„ `maxColorAttachmentBytesPerSample`์„ ์ตœ๋Œ€ 64๋ฐ”์ดํŠธ๋กœ ์ƒํ–ฅํ•˜๊ณ , `maxStorageBuffersPerShaderStage`๋ฅผ ์ตœ๋Œ€ 10๊ฐœ๊นŒ์ง€, `maxBindGroupsPlusVertexBuffers`์˜ ๊ธฐ๋ณธ๊ฐ’์„ 24๋กœ ๋Š˜๋ฆฌ๋Š” ๋“ฑ ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค์˜ ํ•œ๊ณ„๋ฅผ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค [12, 13]. * **์ƒํƒœ ๊ด€๋ฆฌ ๋ฐ ์–ด๋Œ‘ํ„ฐ ์ •๋ณด ๊ฐ„์†Œํ™”:** ๊ฐœ๋ฐœ์ž ํŽธ์˜๋ฅผ ์œ„ํ•ด `depthWriteEnabled`์™€ `depthCompare`์™€ ๊ฐ™์€ Depth-stencil ์ƒํƒœ ์†์„ฑ์ด ํ•ญ์ƒ ํ•„์ˆ˜๋กœ ์š”๊ตฌ๋˜์ง€ ์•Š๋„๋ก ๋™์ž‘์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค [14]. ๋˜ํ•œ `requestAdapterInfo()`๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ "discrete GPU", "integrated GPU" ๊ฐ™์€ ๋””๋ฐ”์ด์Šค ํƒ€์ž…๊ณผ "D3D12", "metal", "vulkan" ๋“ฑ ๋ฐฑ์—”๋“œ API์— ๋Œ€ํ•œ ์„ธ๋ถ€์ ์ธ ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค [14]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Graphics & Performance ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[WebGPU Timestamp Queries|WebGPU Timestamp Queries]], Dawn, [[Spectre and Meltdown|Spectre and Meltdown]], WGSL - **Projects/Contexts:** Chrome 120 WebGPU Updates - **Contradictions/Notes:** ์†Œ์Šค์— ๋”ฐ๋ฅด๋ฉด, ํƒ€์ž„์Šคํƒฌํ”„ ๋…ธ์ถœ์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ œ์•ˆ์€ ๋ณด์•ˆ์„ ์ด์œ ๋กœ ๋น„๊ฒฉ๋ฆฌ ์ปจํ…์ŠคํŠธ์—์„œ๋Š” ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์ „ํ˜€ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด์—ˆ์œผ๋‚˜ [5], ์ดํ›„ ์ƒํ˜ธ ์šด์šฉ์„ฑ(Interop) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด GPU for the Web ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ทธ๋ฃน์˜ ํ•ฉ์˜๋ฅผ ๊ฑฐ์ณ ์ปจํ…์ŠคํŠธ์˜ ๊ฒฉ๋ฆฌ ์—ฌ๋ถ€์™€ ์ƒ๊ด€์—†์ด 100 ๋งˆ์ดํฌ๋กœ์ดˆ ๋‹จ์œ„๋กœ ๊ฐ’์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ •์ฑ…์ด ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค [6]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/Chrome _ Blink WebGPU Implementation.md ---