41 lines
4.4 KiB
Markdown
41 lines
4.4 KiB
Markdown
---
|
|
id: P-REINFORCE-AUTO-A8AA46
|
|
category: "10_Wiki/💡 Topics/Graphics & Performance"
|
|
confidence_score: 0.90
|
|
tags: [auto-reinforced]
|
|
last_reinforced: 2026-04-20
|
|
github_commit: "[P-Reinforce] Continuous Worker - WebGPU Performance Profiling"
|
|
---
|
|
|
|
# [[WebGPU Performance Profiling|WebGPU Performance Profiling]]
|
|
|
|
## 📌 한 줄 통찰 (The Karpathy Summary)
|
|
> WebGPU Performance Profiling은 WebGPU API를 활용하는 웹 애플리케이션에서 컴퓨트 및 렌더 패스 경계에서의 GPU 명령 실행 시간을 정밀하게 측정하고 분석하는 과정입니다 [1, 2]. 개발자는 이를 통해 성능 병목 현상을 식별하고 최적화할 수 있으나, 타이밍 기반의 보안 공격을 방지하기 위해 타임스탬프의 정밀도가 의도적으로 낮춰져(Quantization) 제공됩니다 [1, 3, 4]. 하드웨어 수준의 타이머 접근이 제한될 경우, 개발자는 브라우저 내부의 트레이싱 도구를 활용하여 시스템 수준의 프로파일링을 수행할 수 있습니다 [5, 6].
|
|
|
|
## 📖 구조화된 지식 (Synthesized Content)
|
|
* **타임스탬프 쿼리(Timestamp Queries):**
|
|
WebGPU는 `timestamp-query` 기능과 `GPUQuerySet`을 도입하여 컴퓨트 패스와 렌더 패스의 시작 및 종료 지점에서 나노초 단위의 정밀한 실행 시간 측정을 지원합니다 [1, 2]. 이는 개발자가 GPU 작업 부하의 성능과 동작에 대한 심층적인 통찰력을 얻을 수 있도록 돕는 핵심 프로파일링 수단입니다 [2].
|
|
|
|
* **보안을 위한 양자화(Quantization) 및 정밀도 저하:**
|
|
고해상도 타이머는 Spectre나 Rowhammer와 같은 캐시 사이드 채널 공격(타이밍 공격)에 악용될 수 있습니다 [1, 7, 8]. 이러한 보안 취약점을 완화하기 위해, 브라우저 벤더들은 타임스탬프 쿼리의 해상도를 100 마이크로초 단위로 제한하는 양자화(Coarsening/Quantization)를 적용합니다 [3, 4, 9]. 교차 출처 격리(Cross-origin isolated) 상태와 무관하게 고해상도 시간(High Resolution Time) 사양에 맞춰 100 마이크로초의 해상도를 제공하는 방향으로 합의가 이루어졌습니다 [10, 11].
|
|
|
|
* **로컬 개발 환경에서의 정밀도 제어:**
|
|
Chrome 브라우저에서는 디버깅 및 성능 최적화를 위해 개발자가 정밀도 제한을 직접 해제할 수 있습니다. `chrome://flags/#enable-webgpu-developer-features` 플래그를 활성화하면 타임스탬프 양자화를 비활성화할 수 있습니다 [3, 12]. 단, `timestamp-query` 기능 자체는 실험적이므로 `chrome://flags/#enable-unsafe-webgpu` 지원 플래그가 함께 필요할 수 있습니다 [12].
|
|
|
|
* **브라우저 내부 트레이싱 및 프로파일링 도구:**
|
|
하드웨어 타이머를 사용할 수 없거나 불충분한 경우, Chrome DevTools의 Performance 패널이나 `chrome://tracing`(`about:tracing`)과 같은 시스템 수준의 브라우저 프로파일링 도구를 사용할 수 있습니다 [5, 13]. 이 도구들을 통해 `CrGpuMain`(GPU 프로세스)과 `CrRendererMain`(렌더러 프로세스) 스레드의 활동을 추적하여, 현재 애플리케이션의 성능 병목이 GPU 바운드인지 CPU 바운드인지 시각적으로 파악할 수 있습니다 [6, 14, 15].
|
|
|
|
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
|
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
|
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
|
|
|
## 🔗 지식 연결 (Graph)
|
|
- **Related Topics:** [[Timestamp Queries|Timestamp Queries]], [[Timing Attacks|Timing Attacks]], [[Chrome DevTools|Chrome DevTools]]
|
|
- **Projects/Contexts:** High Resolution Time Spec, [[Chromium WebGPU Implementation|Chromium WebGPU Implementation]]
|
|
- **Contradictions/Notes:** WebGPU 사양 원문에서는 타이밍 공격에 대한 우려로 인해 타임스탬프 쿼리를 선택적(optional) 기능으로 명시하고 신뢰할 수 있는 환경으로 노출을 제한할 수 있다고 규정했습니다 [4, 16]. 하지만, GPU for the Web 커뮤니티 그룹은 개발자의 성능 프로파일링 요구를 충족하면서도 보안을 유지하기 위해, 해상도를 100 마이크로초로 낮추는 조건 하에 사이트 격리(site isolation) 여부와 상관없이 타임스탬프 쿼리를 허용하기로 합의했습니다 [9, 10].
|
|
|
|
---
|
|
*Last updated: 2026-04-19*
|
|
- Raw Source: 00_Raw/2026-04-20/WebGPU Performance Profiling.md
|
|
---
|