WebGPU: 250.000 Partikel di Browser Anda
Ini menandai Hari ke-50. Ini adalah hari terakhir dari seri saya di mana saya membangun teknologi baru dari nol setiap harinya. Saya ingin mengakhirinya dengan WebGPU.
Saya mensimulasikan 250.000 partikel sepenuhnya di GPU di dalam browser.
CPU Anda memiliki beberapa core yang cepat. GPU Anda memiliki ribuan core yang sederhana. CPU memindahkan partikel satu per satu. GPU memindahkan ribuan partikel secara bersamaan.
WebGPU adalah penerus modern dari WebGL. Ia memberikan akses perangkat keras ke browser Anda melalui compute shader. Shader ini memungkinkan GPU untuk melakukan perhitungan matematika, bukan sekadar menggambar grafis.
Cara kerjanya:
• Anda membuat device untuk mengelola GPU. • Anda membuat buffer untuk menyimpan data partikel seperti posisi dan kecepatan. • Anda mengunggah data sekali dan menyimpannya di GPU. • Anda menulis compute shader untuk satu partikel. • GPU menjalankan shader tersebut pada seluruh 250.000 partikel sekaligus.
Datanya tetap berada di GPU. Data tersebut berpindah dari tahap komputasi ke tahap rendering tanpa kembali ke CPU. Kecepatan ini memungkinkan simulasi berjalan pada 60fps.
WebGPU adalah fondasi baru untuk matematika di dalam browser dan machine learning lokal. Ini adalah cara yang tepat untuk mengakhiri seri ini.
Terima kasih telah mengikuti perjalanan ini. Anda dapat menemukan arsip lengkap dari setiap proyek di sini.
Kode lengkap: https://github.com/dev48v/webgpu-from-zero
Postingan lengkap: https://dev.to/dev48v/webgpu-i-simulated-250000-particles-entirely-on-the-gpu-in-the-browser-2o0f
Komunitas belajar opsional: https://dev48v.infy.uk/techfromzero.php