WebGPU: آپ کے براؤزر پر 250,000 ذرات
آج 50واں دن ہے۔ یہ ہر روز شروع سے نئی ٹیکنالوجی بنانے کے میرے سلسلے کا آخری دن ہے۔
میں نے اس سلسلے کو مکمل کرنے کے لیے WebGPU کا انتخاب کیا ہے۔ WebGPU آپ کو براؤزر کے اندر مکمل طور پر اپنے GPU پر 250,000 ذرات کو سمولیٹ کرنے کی اجازت دیتا ہے۔
آپ کے CPU میں چند تیز رفتار کورز ہوتے ہیں۔ آپ کے GPU میں ہزاروں سادہ کورز ہوتے ہیں۔ 250,000 ذرات کو حرکت دینے کے لیے، ایک CPU ان پر ایک ایک کر کے کام کرتا ہے۔ ایک GPU ہزاروں کام بالکل ایک ہی وقت میں کرتا ہے۔
WebGPU، WebGL کا جدید جانشین ہے۔ یہ آپ کے ہارڈ ویئر پر عام پروگرام چلانے کے لیے compute shaders کا استعمال کرتا ہے۔
یہ کیسے کام کرتا ہے:
- آپ GPU کو مینیج کرنے کے لیے ایک ڈیوائس بناتے ہیں۔
- آپ پوزیشن اور ویلوسٹی جیسے ذرات کے ڈیٹا کو محفوظ کرنے کے لیے ایک بفر بناتے ہیں۔
- آپ ڈیٹا کو ایک بار 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