Za a kunna tallafin WebGPU a cikin Chrome

Google ya sanar da tsohowar tallafi don API ɗin zane na WebGPU da Harshen Shading na WebGPU (WGSL) a cikin reshen Chrome 113, wanda aka shirya don fitarwa a ranar 2 ga Mayu. WebGPU yana ba da API mai kama da Vulkan, Metal, da Direct3D 12 don aiwatar da ayyukan GPU-gefe kamar ƙira da ƙididdigewa, kuma yana ba ku damar amfani da yaren shader don rubuta shirye-shiryen gefen GPU. Za a kunna aiwatar da WebGPU da farko a cikin gine-gine don ChromeOS, macOS, da Windows. Don Linux da Android, goyon bayan WebGPU za a kunna a wani kwanan wata.

Baya ga Chrome, an gwada tallafin WebGPU na gwaji tun Afrilu 2020 a Firefox kuma tun Nuwamba 2021 a Safari. Don kunna WebGPU a Firefox, saita dom.webgpu.enabled da gfx.webgpu.force-enabled tutoci a game da: config. Babu wani shiri don kunna WebGPU ta tsohuwa a Firefox da Safari tukuna. Ana samun aikace-aikacen WebGPU don Firefox da Chrome a cikin nau'ikan ɗakunan karatu daban-daban - Dawn (C++) da wgpu (tsatsa), waɗanda zaku iya amfani da su don haɗa tallafin WebGPU cikin aikace-aikacenku. Ana kuma ci gaba da aiki don ƙara tallafin WebGPU zuwa shahararrun ɗakunan karatu na JavaScript na asali ta amfani da WebGL. Misali, an riga an sanar da cikakken goyan baya ga WebGPU a cikin Babylon.js, da goyan baya a cikin Three.js, PlayCanvas da TensorFlow.js.

A zahiri, WebGPU ya bambanta da WebGL ta hanyar da Vulkan graphics API ya bambanta da OpenGL, amma WebGPU ba ya dogara ne akan takamaiman API na zane ba, amma babban maƙasudi ne na gaba ɗaya wanda ke amfani da ƙananan matakan farko da aka samu a cikin Vulkan, Metal, da kuma Direct3D. WebGPU yana ba da aikace-aikacen JavaScript tare da ƙananan iko akan ƙungiya, sarrafawa da watsa umarni zuwa GPU, sarrafa albarkatun da ke hade, ƙwaƙwalwar ajiya, buffers, abubuwa masu rubutu, da kuma haɗar shaders. Wannan tsarin yana ba ku damar cimma manyan aikace-aikacen zane-zane ta hanyar rage sama da haɓaka haɓakar GPU.

WebGPU yana ba da damar ƙirƙirar hadaddun ayyuka na 3D don gidan yanar gizon da ke aiki da kuma shirye-shirye masu zaman kansu waɗanda ke amfani da Vulkan, Metal ko Direct3D kai tsaye, amma ba a haɗa su da takamaiman dandamali ba. WebGPU kuma yana ba da ƙarin zaɓuɓɓuka don aikawa da shirye-shiryen zane na asali zuwa nau'i mai kunna yanar gizo ta hanyar haɗawa zuwa WebAssembly. Baya ga zane-zane na 3D, WebGPU kuma yana rufe yuwuwar da ke da alaƙa da ƙaddamar da lissafin zuwa gefen GPU da aiwatar da shaders.

Mabuɗin Fasalolin WebGPU:

  • Gudanar da kayan aiki daban, aikin shiryawa da watsa umarni zuwa GPU (a cikin WebGL, abu ɗaya ke da alhakin komai a lokaci ɗaya). An samar da mahallin daban-daban guda uku: GPUDevice don ƙirƙirar albarkatu kamar laushi da buffers; GPUCommandEncoder don ɓoye umarni ɗaya, gami da ma'ana da matakan lissafi; GPUCommandBuffer don wucewa zuwa layin gudu na GPU. Ana iya samar da sakamakon a cikin yanki mai alaƙa da ɗaya ko fiye da abubuwan zane, ko yin ba tare da fitarwa ba (misali, lokacin gudanar da ayyukan ƙididdiga). Rarrabuwar matakai yana sauƙaƙa don raba samar da albarkatu da samar da ayyukan zuwa ma'aikata daban-daban waɗanda zasu iya gudana akan zaren daban-daban.
  • Daban-daban tsarin kula da jihohi. WebGPU yana ba da abubuwa guda biyu - GPURenderPipeline da GPUComputePipeline, waɗanda ke ba ku damar haɗa jihohi daban-daban waɗanda mai haɓakawa ya rigaya ya bayyana, wanda ke ba da damar mai binciken ya daina ɓarna albarkatu akan ƙarin aiki, kamar sake tattara shaders. Jihohin da aka goyan baya sun haɗa da: shaders, buffer vertex da shimfidu na sifofi, shimfidu masu ɗaure kai, haɗawa, zurfin da ƙira, tsarin fitarwa bayan bayarwa.
  • Samfurin ɗaure, kamar kayan aikin haɗa kayan albarkatu na Vulkan. Don haɗa albarkatu zuwa ƙungiyoyi, WebGPU yana samar da abu na GPUBindGroup, wanda, a lokacin rubuta umarni, ana iya haɗa shi da sauran abubuwa makamantan don amfani a cikin inuwa. Ƙirƙirar irin waɗannan ƙungiyoyin yana ba direba damar aiwatar da ayyukan shirye-shiryen da suka wajaba a gaba, kuma yana ba mai binciken damar canza abubuwan haɗin gwiwa tsakanin zana kira da sauri. Za'a iya siffanta tsarin daurin albarkatun ƙasa ta amfani da abin GPUBundGroupLayout.

source: budenet.ru

Add a comment