WebGPU, 브라우저에서 PyTorch보다 최대 223배 빠른 성능!
WebGPU를 활용한 벤치마크 결과, 브라우저 환경에서 PyTorch CUDA(Tesla T4) 대비 최대 223배의 성능 향상
커널 퓨전(Kernel Fusion) 기술을 통해 순차적 연산을 단일 GPU 연산으로 통합하여 성능을 극대화
M2 MacBook에서 PyTorch T4 대비 180배 성능 향상, 설치 없이 브라우저에서 실행 가능
하드웨어 차이(Hardware Differences)를 고려하지 않은 벤치마크 설계에 대한 비판 제기
WebGPU의 커널 퓨전(Kernel Fusion) 기술 분석
연구에 따르면 WebGPU는 커널 퓨전(Kernel Fusion)을 통해 순차적인 연산을 단일 GPU 연산으로 묶어 PyTorch의 개별 디스패치 오버헤드를 제거한다. 특히, WebGPU는 디스패치 과정이 병목 현상(Bottleneck)이 되는 상황에서 강점을 보인다. Acrobot-v1 벤치마크에서 PyTorch CUDA 대비 223배, 1,500단계 금융 시뮬레이션에서 94배의 성능 향상을 달성했다.
벤치마크 환경의 문제점 및 비판
일부 댓글에서는 벤치마크가 하드웨어 차이(Hardware Differences)를 제대로 고려하지 않았다고 지적한다. M2 Pro의 통합 메모리 아키텍처는 CPU와 GPU 간의 전송 지연 시간이 거의 없는 반면, Tesla T4는 PCIe 병목 현상이 존재한다. 따라서, 벤치마크 결과가 순수한 알고리즘적 우위를 반영하는지 의문이 제기된다. 벤치마크 설계(Benchmark Design)의 문제점을 지적하며, 결과 해석에 주의를 요한다.
M2 MacBook에서의 WebGPU 성능
M2 MacBook에서 실행한 벤치마크 결과는 PyTorch T4 기반 벤치마크 대비 180배의 성능 향상을 보였다. 이는 WebGPU가 브라우저 환경에서 설치 없이(Zero Install) 실행 가능하다는 점과 결합되어, 개발자들에게 높은 접근성을 제공한다. M2 Pro의 통합 메모리 아키텍처(Unified Memory Architecture)는 CPU와 GPU 간의 데이터 전송 속도를 향상시켜 WebGPU의 성능을 더욱 끌어올리는 데 기여한다.
PyTorch의 순차적 연산 처리 한계
댓글에서는 PyTorch의 디스패치 방식이 순차적 연산에 최적화되지 않았다는 점을 지적한다. PyTorch는 각 연산마다 CUDA 런칭 비용(CUDA Launch Tax)을 지불해야 하므로, 순차적 연산이 많은 경우 성능 저하가 발생한다. WebGPU는 컴퓨트 셰이더(Compute Shader) 모델을 통해 이러한 문제를 해결하며, 특히 Acrobot 벤치마크와 같이 순차적 시뮬레이션 루프가 많은 경우 그 효과가 극대화된다.