𝗪𝗲𝗯𝗚𝗣𝗨: 𝟮𝟱𝟬,𝟬𝟬𝟬 𝗣𝗮𝗿𝘁𝗶𝗰𝗹𝗲𝘀 𝗢𝗻 𝗬𝗼𝘂𝗿 𝗕𝗿𝗼𝘄𝘀𝗲𝗿
आज 50वां दिन है। यह हर दिन शून्य से नई तकनीक बनाने की मेरी सीरीज़ का अंतिम दिन है।
मैंने इस सीरीज़ को समाप्त करने के लिए WebGPU को चुना है। WebGPU आपको ब्राउज़र के भीतर पूरी तरह से अपने GPU पर 250,000 कणों (particles) का सिमुलेशन करने की अनुमति देता है।
आपके CPU में कुछ तेज़ कोर (cores) होते हैं। आपके GPU में हज़ारों सरल कोर होते हैं। 250,000 कणों को चलाने के लिए, एक CPU उन्हें एक-एक करके प्रोसेस करता है। एक GPU हज़ारों को बिल्कुल एक ही समय में करता है।
WebGPU, WebGL का आधुनिक उत्तराधिकारी है। यह आपके हार्डवेयर पर सामान्य प्रोग्राम चलाने के लिए compute shaders का उपयोग करता है।
यह कैसे काम करता है:
- आप GPU को मैनेज करने के लिए एक device बनाते हैं।
- आप स्थिति (position) और वेग (velocity) जैसे कण डेटा को रखने के लिए एक buffer बनाते हैं।
- आप डेटा को एक बार GPU पर अपलोड करते हैं।
- आप मूवमेंट को संभालने के लिए एक compute shader लिखते हैं।
Compute shader एक ही समय में हर कण के लिए एक ही लॉजिक चलाता है। डेटा GPU पर ही रहता है। यह हार्डवेयर को छोड़े बिना compute स्टेप से render स्टेप में चला जाता है। यह गति सिमुलेशन को 60fps पर चलाने की अनुमति देती है।
WebGPU ब्राउज़र के भीतर मशीन लर्निंग और भारी गणना (heavy computation) के लिए आधार बनेगा। यह वेब डेवलपमेंट के भविष्य के लिए एक महत्वपूर्ण उपकरण है।
इस सीरीज़ को फॉलो करने के लिए धन्यवाद। आप हर प्रोजेक्ट का पूरा आर्काइव यहाँ पा सकते हैं।
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