드미트리가 과거의 유산인 ANGLE 프로젝트에 다시 관심을 기울이기 시작했을 무렵, 그의 레이더에 새로운 종류의 움직임이 포착되었다. 그것은 브라우저 벤더나 게임 엔진 회사가 아닌, 예상치 못한 곳에서 시작된 조용한 혁명이었다.
그 시작은 깃허브에 올라온 ‘deno-webgpu’라는 이름의 작은 오픈소스 프로젝트였다.
Deno. Node.js의 창시자가 만든, 새로운 자바스크립트/타입스크립트 런타임.
Deno는 본래 브라우저 밖, 즉 서버나 커맨드 라인에서 자바스크립트를 실행하기 위한 도구였다. 그런데 누군가가 이 Deno 환경에서 WebGPU API를 직접 사용할 수 있도록 만든 것이다.
드미트리는 호기심에 프로젝트의 코드를 살펴보았다. 그 구현 방식은 놀라울 정도로 영리했다.
‘deno-webgpu’는 모질라가 만든 Rust 기반의 WebGPU 구현체, 즉 wgpu
를 핵심 엔진으로 사용하고 있었다. 그리고 브라우저의 navigator.gpu
객체가 제공하는 API와 거의 동일한 인터페이스를 Deno 환경에 제공했다.
그 결과, 개발자는 이제 브라우저에서 작성했던 WebGPU 코드를 거의 그대로, 자신의 로컬 컴퓨터 커맨드 라인에서 직접 실행할 수 있게 되었다.
이 작은 프로젝트가 의미하는 바는 결코 작지 않았다.
드미트리는 팀 미팅에서 이 프로젝트를 소개했다.
“여러분, 우리가 목격하고 있는 것은 단순한 기술적 실험이 아닙니다. 이것은 ‘경계의 침식’입니다.”
팀원들은 그의 말에 집중했다.
“지금까지 웹 기술은 항상 브라우저라는 울타리 안에 갇혀 있었습니다. HTML, CSS, 그리고 자바스크립트 API들은 모두 브라우저를 통해서만 생명을 얻었죠. 하지만 WebGPU는 그 경계를 허물기 시작했습니다.”
그는 화이트보드에 그림을 그렸다.
한쪽에는 ‘브라우저 (클라이언트)’라고 쓰고, 다른 한쪽에는 ‘서버 / 네이티브’라고 썼다.
“wgpu와 Dawn은 본질적으로 C++과 Rust로 작성된, 플랫폼 독립적인 그래픽스 라이브러리입니다. 우리는 지금까지 이 라이브러리들을 브라우저에 이식하는 데에만 집중해왔습니다. 하지만 Deno의 사례는 우리에게 역발상을 요구하고 있습니다.”
그는 두 개의 상자를 화살표로 연결했다.
“만약 우리가 만든 WebGPU 코드가 브라우저뿐만 아니라, 서버에서도, 데스크톱 애플리케이션에서도, 심지어 모바일 앱에서도 똑같이 동작할 수 있다면 어떻게 될까요?”
이것은 ‘헤드리스 WebGPU’보다 한 걸음 더 나아간, 훨씬 더 거대한 비전이었다.
‘한 번 작성하면, 어디서든 실행된다(Write Once, Run Anywhere)’.
이것은 과거 자바(Java) 언어가 꿈꾸었지만 완전히 이루지 못했던 이상이었다. 그런데 이제, 웹 표준 기술인 WebGPU와 WebAssembly가 그 이상을 실현할 가장 강력한 후보로 떠오르고 있었다.
카이가 흥분된 목소리로 말했다.
“그렇다면… 게임 개발자는 이제 WebGPU를 사용해서 게임을 한 번만 만들면 되겠군요. 그 코드를 수정 없이 그대로 웹 브라우저, 스팀(Steam)에 올릴 PC 게임, 그리고 iOS/안드로이드 앱으로 동시에 출시할 수 있게 되는 겁니다!”
“바로 그거야, 카이.”
드미트리가 고개를 끄덕였다. “웹 개발자와 네이티브 개발자의 경계가 사라지는 거지. 모두가 ‘WebGPU 개발자’라는 하나의 이름으로 불리게 될 거야.”
이러한 움직임은 Deno에서만 멈추지 않았다.
얼마 지나지 않아, Node.js 커뮤니티에서도 Dawn을 기반으로 한 WebGPU 구현 패키지가 등장했다.
파이썬(Python) 개발자들을 위한 wgpu-py
라이브러리도 빠르게 인기를 얻기 시작했다.
이제 데이터 과학자들은 파이썬으로 작성한 머신러닝 코드를, wgpu-py를 통해 로컬 GPU에서 가속화할 수 있게 되었다. 그리고 그 코드는 약간의 수정만 거치면, 브라우저의 WebGPU에서도 동일하게 동작했다.
드미트리는 자신들이 만든 것이 단순히 ‘웹을 위한 GPU API’가 아니었음을 깨달았다.
그들은 자신도 모르는 사이에, 모든 플랫폼을 아우르는 ‘보편적인 GPU 프로그래밍 인터페이스’의 사실상 표준을 만들어낸 것이었다.
그는 ANGLE 프로젝트를 통해 과거를 되돌아보았다. 그리고 ‘deno-webgpu’와 같은 외부 프로젝트를 통해 미래를 내다보았다.
WebGPU는 더 이상 구글이나 모질라의 것이 아니었다. 그것은 이제 전 세계의 오픈소스 커뮤니티의 것이 되어, 그들의 손에서 상상치도 못했던 모습으로 진화하고 있었다.
드미트리는 이 거대한 흐름 앞에서 겸허함을 느꼈다. 그는 더 이상 이 기술의 주인이 아니었다. 그는 단지 이 위대한 생태계의 탄생을 도왔던, 수많은 조력자 중 한 명일 뿐이었다. 그리고 그는 그 역할에 깊은 만족감을 느꼈다.