WebGPU: మీ బ్రౌజర్లోనే 250,000 పార్టికల్స్
ఈరోజు 50వ రోజు. ప్రతిరోజూ కొత్త టెక్నాలజీని మొదటి నుండి నిర్మించే నా సిరీస్లో ఇది చివరి రోజు.
ఈ సిరీస్ను ముగించడానికి నేను WebGPUని ఎంచుకున్నాను. WebGPU ద్వారా మీరు బ్రౌజర్లోని మీ GPUపైనే పూర్తిగా 250,000 పార్టికల్స్ను సిమ్యులేట్ చేయవచ్చు.
మీ CPUలో కొన్ని వేగవంతమైన కోర్లు ఉంటాయి. మీ GPUలో వేలాది సాధారణ కోర్లు ఉంటాయి. 250,000 పార్టికల్స్ను కదిలించడానికి, CPU వాటిని ఒక్కొక్కటిగా ప్రాసెస్ చేస్తుంది. GPU వేలాదింటిని ఒకే సమయంలో చేస్తుంది.
WebGPU అనేది WebGL యొక్క ఆధునిక వారసుడు. ఇది మీ హార్డ్వేర్పై సాధారణ ప్రోగ్రామ్లను రన్ చేయడానికి కంప్యూట్ షేడర్లను ఉపయోగిస్తుంది.
ఇది ఎలా పనిచేస్తుంది:
- మీరు GPUని నిర్వహించడానికి ఒక డివైజ్ను సృష్టిస్తారు.
- పొజిషన్ మరియు వెలాసిటీ వంటి పార్టికల్ డేటాను నిల్వ చేయడానికి మీరు ఒక బఫర్ను సృష్టిస్తారు.
- మీరు డేటాను ఒక్కసారి మాత్రమే GPUకి అప్లోడ్ చేస్తారు.
- కదలికలను నిర్వహించడానికి మీరు ఒక కంప్యూట్ షేడర్ను రాస్తారు.
కంప్యూట్ షేడర్ ప్రతి పార్టికల్కు ఒకేసారి ఒకే లాజిక్ను రన్ చేస్తుంది. డేటా GPUలోనే ఉంటుంది. అది హార్డ్వేర్ను వదిలి వెళ్లకుండానే కంప్యూట్ దశ నుండి రెండర్ దశకు మారుతుంది. ఈ వేగం వల్ల సిమ్యులేషన్ 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