WebGPU: ۲۵۰,۰۰۰ ذره در مرورگر شما
امروز روز ۵۰ است. این آخرین روز از سری مطالب من است که در آن هر روز تکنولوژی جدیدی را از صفر میسازم.
من برای پایان دادن به این مجموعه، WebGPU را انتخاب کردم. WebGPU به شما اجازه میدهد ۲۵۰,۰۰۰ ذره را بهطور کامل روی GPU خود و در داخل یک مرورگر شبیهسازی کنید.
CPU شما چند هسته سریع دارد. GPU شما هزاران هسته ساده دارد. برای حرکت دادن ۲۵۰,۰۰۰ ذره، یک CPU آنها را یکی یکی پردازش میکند، اما یک GPU هزاران مورد را دقیقاً در یک زمان انجام میدهد.
WebGPU جانشین مدرن WebGL است. این تکنولوژی از compute shaderها برای اجرای برنامههای عمومی روی سختافزار شما استفاده میکند.
نحوه عملکرد:
- شما یک device برای مدیریت GPU ایجاد میکنید.
- شما یک 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