𝗪𝗲𝗯𝗚𝗣𝗨: आपके ब्राउज़र पर 250,000 कण
यह 50वां दिन है। यह मेरी उस सीरीज़ का अंतिम दिन है जहाँ मैं हर दिन शून्य से एक नई तकनीक बनाता हूँ। मैं इसका समापन WebGPU के साथ करना चाहता था।
मैंने ब्राउज़र के अंदर पूरी तरह से GPU पर 250,000 कणों का सिमुलेशन किया।
आपके CPU में कुछ तेज़ कोर होते हैं। आपके GPU में हज़ारों सरल कोर होते हैं। एक CPU कणों को एक-एक करके आगे बढ़ाता है। एक GPU हज़ारों को एक साथ आगे बढ़ाता है।
WebGPU, WebGL का आधुनिक उत्तराधिकारी है। यह compute shaders के माध्यम से आपके ब्राउज़र को हार्डवेयर तक पहुँच प्रदान करता है। ये shaders GPU को केवल ग्राफ़िक्स बनाने ही नहीं, बल्कि गणितीय गणनाएँ करने की भी अनुमति देते हैं।
यह कैसे काम करता है:
• आप GPU को मैनेज करने के लिए एक device बनाते हैं। • आप position और velocity जैसे कणों के डेटा को रखने के लिए एक buffer बनाते हैं। • आप डेटा को एक बार अपलोड करते हैं और उसे GPU पर ही रखते हैं। • आप एक कण के लिए एक compute shader लिखते हैं। • GPU उस shader को एक साथ सभी 250,000 कणों पर चलाता है।
डेटा GPU पर ही रहता है। यह CPU पर वापस आए बिना compute स्टेप से सीधे render स्टेप पर चला जाता है। यही गति सिमुलेशन को 60fps पर चलाने में सक्षम बनाती है।
WebGPU, इन-ब्राउज़र गणित और लोकल मशीन लर्निंग के लिए एक नया आधार है। इस सीरीज़ को समाप्त करने का यह सही तरीका था।
इस यात्रा का अनुसरण करने के लिए धन्यवाद। आप हर प्रोजेक्ट का पूरा आर्काइव यहाँ पा सकते हैं।
Full code: https://github.com/dev48v/webgpu-from-zero
Complete post: https://dev.to/dev48v/webgpu-i-simulated-250000-particles-entirely-on-the-gpu-in-the-browser-2o0f
Optional learning community: https://dev48v.infy.uk/techfromzero.php