𝗪𝗲𝗯𝗚𝗣𝗨: 𝟮𝟱𝟬,𝟬𝟬𝟬 𝗣𝗮𝗿𝘁𝗶𝗰𝗹𝗲𝘀 𝗢𝗻 𝗬𝗼𝘂𝗿 𝗕𝗿𝗼𝘄𝘀𝗲𝗿
Сегодня 50-й день. Это заключительный день моего цикла по созданию новых технологий с нуля каждый день.
Чтобы завершить этот цикл, я выбрал WebGPU. WebGPU позволяет симулировать 250 000 частиц полностью на вашем GPU прямо в браузере.
У вашего CPU есть несколько быстрых ядер. У вашего GPU — тысячи простых ядер. Чтобы переместить 250 000 частиц, CPU обрабатывает их по одной. GPU же делает это тысячами одновременно.
WebGPU — это современный преемник WebGL. Он использует compute shaders для запуска произвольных программ на вашем оборудовании.
Как это работает:
- Вы создаете device для управления GPU.
- Вы создаете buffer для хранения данных о частицах, таких как позиция и скорость.
- Вы один раз загружаете данные в GPU.
- Вы пишете compute shader для обработки движения.
Compute shader применяет одну и ту же логику ко всем частицам одновременно. Данные остаются на GPU. Они переходят от этапа вычислений (compute step) к этапу рендеринга (render step), не покидая аппаратное обеспечение. Такая скорость позволяет симуляции работать при 60 fps.
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