𝗪𝗲𝗯𝗚𝗣𝗨: 𝟮𝟱𝟬,𝟬𝟬𝟬 𝗣𝗮𝗿𝘁𝗶𝗰𝗹𝗲𝘀 𝗢𝗻 𝗬𝗼𝘂𝗿 𝗕𝗿𝗼𝘄𝘀𝗲𝗿
오늘은 50일째입니다. 매일 새로운 기술을 처음부터 구축하는 시리즈의 마지막 날입니다.
이 시리즈를 마무리하기 위해 WebGPU를 선택했습니다. WebGPU를 사용하면 브라우저 내 GPU에서만 250,000개의 파티클을 완전히 시뮬레이션할 수 있습니다.
CPU에는 몇 개의 빠른 코어가 있습니다. GPU에는 수천 개의 단순한 코어가 있습니다. 250,000개의 파티클을 이동시키기 위해 CPU는 하나씩 차례대로 처리합니다. GPU는 수천 개를 동시에 처리합니다.
WebGPU는 WebGL의 현대적인 후계자입니다. 하드웨어에서 일반 프로그램을 실행하기 위해 compute shader를 사용합니다.
작동 방식:
- GPU를 관리할 device를 생성합니다.
- 위치와 속도 같은 파티클 데이터를 담을 buffer를 생성합니다.
- 데이터를 GPU에 한 번 업로드합니다.
- 이동을 처리할 compute shader를 작성합니다.
compute shader는 모든 파티클에 대해 동일한 로직을 한 번에 실행합니다. 데이터는 GPU에 머물러 있습니다. 데이터는 하드웨어를 벗어나지 않고 compute 단계에서 render 단계로 이동합니다. 이러한 속도 덕분에 시뮬레이션을 60fps로 실행할 수 있습니다.
WebGPU는 브라우저 내 머신러닝과 고부하 연산의 기반이 될 것입니다. 이는 웹 개발의 미래를 위한 필수적인 도구입니다.
이 시리즈를 팔로우해 주셔서 감사합니다. 모든 프로젝트의 전체 아카이브는 여기서 확인하실 수 있습니다.
전체 코드: https://github.com/dev48v/webgpu-from-zero
전체 포스트: https://dev.to/dev48v/webgpu-i-simulated-250000-particles-entirely-on-the-gpu-in-the-browser-2o0f