𝗪𝗲𝗯𝗚𝗣𝗨: 𝟮𝟱𝟬,𝟬𝟬𝟬 𝗖𝗵𝗲𝗺𝗯𝗲𝗰𝗵𝗲𝗺𝗯𝗲 𝗞𝘄𝗲𝗻𝘆𝗲 𝗞𝗶𝘃𝗶𝗻𝗷𝗮𝗿𝗶 𝗖𝗵𝗮𝗸𝗼
Hii inaashiria Siku ya 50. Ni siku ya mwisho ya mfululizo wangu ambapo ninatengeneza teknolojia mpya kuanzia mwanzo kila siku. Nilitaka kumalizia na WebGPU.
Nilifanya simulizi ya chembechembe 250,000 kwa kutumia GPU pekee ndani ya kivinjari.
CPU yako ina viini (cores) vichache vya kasi. GPU yako ina maelfu ya viini rahisi. CPU husogeza chembechembe moja baada ya nyingine. GPU husogeza maelfu kwa wakati mmoja.
WebGPU ni mfuatiliaji wa kisasa wa WebGL. Inaupa kivinjari chako uwezo wa kufikia vifaa (hardware) kupitia compute shaders. Shaders hizi huiruhusu GPU kufanya hesabu, siyo tu kuchora graphics.
Jinsi inavyofanya kazi:
• Unatengeneza kifaa (device) cha kusimamia GPU. • Unatengeneza buffer ya kuhifadhi data za chembechembe kama vile nafasi na kasi. • Unapakia data mara moja na kuibakiza kwenye GPU. • Unaandika compute shader kwa ajili ya chembechembe moja. • GPU huendesha shader hiyo kwenye chembechembe zote 250,000 kwa wakati mmoja.
Data inabaki kwenye GPU. Inasogea kutoka hatua ya compute kwenda hatua ya render bila kurudi kwenye CPU. Kasi hii inaruhusu simulizi hiyo kufanya kazi kwa 60fps.
WebGPU ni msingi mpya wa hesabu ndani ya kivinjari na machine learning ya ndani. Ilikuwa njia sahihi ya kumaliza mfululizo huu.
Asante kwa kufuatilia safari hii. Unaweza kupata kumbukumbu kamili ya kila mradi hapa.
Kanuni kamili: https://github.com/dev48v/webgpu-from-zero
Chapisho kamili: https://dev.to/dev48v/webgpu-i-simulated-250000-particles-entirely-on-the-gpu-in-the-browser-2o0f
Jumuiya ya hiari ya kujifunza: https://dev48v.infy.uk/techfromzero.php