WebGPU: તમારા બ્રાઉઝરમાં 250,000 કણો
આજે 50મો દિવસ છે. દરરોજ શૂન્યથી નવી ટેકનોલોજી બનાવવાની મારી શ્રેણીનો આ છેલ્લો દિવસ છે.
આ શ્રેણી પૂર્ણ કરવા માટે મેં WebGPU પસંદ કર્યું છે. WebGPU તમને બ્રાઉઝરની અંદર સંપૂર્ણપણે તમારા GPU પર 250,000 કણોનું સિમ્યુલેશન કરવા દે છે.
તમારા CPU માં થોડા ઝડપી cores હોય છે. તમારા GPU માં હજારો સાદા cores હોય છે. 250,000 કણોને ખસેડવા માટે, CPU એક પછી એક કામ કરે છે. જ્યારે GPU એકસાથે હજારો કામ કરી શકે છે.
WebGPU એ WebGL નો આધુનિક ઉત્તરાધિકારી છે. તે તમારા હાર્ડવેર પર સામાન્ય પ્રોગ્રામ્સ ચલાવવા માટે compute shaders નો ઉપયોગ કરે છે.
તે કેવી રીતે કામ કરે છે:
- તમે GPU ને મેનેજ કરવા માટે એક device બનાવો છો.
- તમે પોઝિશન અને વેલોસિટી જેવા કણોના ડેટાને રાખવા માટે એક buffer બનાવો છો.
- તમે ડેટાને એક જ વાર GPU પર અપલોડ કરો છો.
- તમે મૂવમેન્ટ હેન્ડલ કરવા માટે એક compute shader લખો છો.
Compute shader એકસાથે દરેક કણ માટે સમાન લોજિક ચલાવે છે. ડેટા GPU પર જ રહે છે. તે હાર્ડવેર છોડ્યા વિના 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