Rust GPU, набор інструментаў для распрацоўкі шэйдараў у Rust

Кампанія па распрацоўцы гульняў Студыя Embark выпусціла першы эксперыментальны выпуск праекта Іржавы графічны працэсар, які накіраваны на выкарыстанне мовы Rust распрацаваць код GPU. 

Жаданне выкарыстаць Іржу пісаць праграмы для GPU звязана не толькі з асаблівасцямі бяспекі і высокай прадукцыйнасцю, але і неабходнасці атрымання сучасных інструментаў для працы з пакетамі і модулямі для павышэння эфектыўнасці працэсу распрацоўкі.

Кампанія па распрацоўцы графічных працэсараў Rust Embark Studios таксама выкарыстоўвае Rust у сваім гульнявым рухавіку і ён працуе над тым, каб палегчыць абмен кодам Rust паміж працэсарам і графічным працэсарам.

На іх думку, гістарычна склалася так, што ў гульнях праграмаванне GPU рабілася шляхам напісання HLSL альбо, у меншай ступені, GLSL. Гэта простыя мовы праграмавання, якія на працягу многіх гадоў развіваліся разам з API адлюстравання.

Аднак па меры развіцця рухавікоў гульні гэтыя мовы не ствараюць механізмаў працы з вялікімі базамі кода, і ў цэлым яны адсталі ў параўнанні з іншымі мовамі праграмавання.

Хоць для абедзвюх моў, як правіла, ёсць лепшыя альтэрнатывы, ні адна з іх не ў стане замяніць HLSL або GLSL.

Альбо таму, што яны заблакаваны правайдэрам, альбо таму, што яны не падтрымліваюцца з традыцыйным канвеерам графікі. Прыклады гэтага - CUDA і OpenCL. І хаця былі зроблены спробы стварыць мову ў гэтай прасторы, ніхто з іх не набыў прыкметнай сілы ў супольнасці gamedev.

GPU Rust працягвае распрацоўваць ідэі праекта RLSL, у якім была зроблена спроба стварыць кампілятар Rust для агульнага прамежкавага шэйдэра SPIR-V, які прапанаваны ў API Vulkan і падтрымліваецца ў OpenGL 4.6.

На бягучай стадыі распрацоўкі GPU Rust ужо дазваляе запускаць простыя графічныя шэйдары і кампіляваць значную частку базавай стандартнай бібліятэкі Rust. У той жа час праект яшчэ далёка не гатовы да шырокага выкарыстання, напрыклад, шлейды яшчэ не падтрымліваюць цыклы.

У Embark мы ствараем уласны гульнявы ​​рухавік з нуля ў Rust. У нас ёсць папярэдні досвед у галіне ўласнай распрацоўкі прататыпа RLSL, і ў нас ёсць каманда выдатных інжынераў візуалізацыі, якія знаёмыя з праблемамі сучасных моў шэйдараў, як з гульнявых, гульнявых рухавікоў, так і з іншых галін прамысловасці. Такім чынам, мы лічым, што мы маем унікальнае становішча, каб паспрабаваць вырашыць гэтую праблему.

Мы хочам упарадкаваць уласную распрацоўку на адной цудоўнай мове, стварыць графічнае супольнасць з адкрытым зыходным кодам і экасістэму, палегчыць сумеснае выкарыстанне кода паміж графічным працэсарам і працэсарам, а галоўнае - даць магчымасць нашым (будучым) карыстальнікам і калегам-распрацоўнікам мець больш Хутка ствараць цікавыя і цікавыя ўражанні.

На аснове кода на мове Rust фарміруецца прадстаўленне шэйдэраў SPIR-V, для генерацыі якіх распрацаваны спецыяльны бэкэнд для кампілятара Rust, які працуе па аналогіі з генератарам кода cranelift, які выкарыстоўваецца для кампіляцыі ў прадстаўленне. Вэб-зборка.

Сучасны падыход заключаецца ў падтрымцы графічнага API Vulkan і праглядаў SPIR-V, але генератары запланаваны на будучыню выглядаў шэйдараў DXIL (DirectX) і WGSL (WebGPU). Абапіраючыся на Cargo і crates.io, распрацоўваюцца інструменты для распрацоўкі і публікацыі пакетаў з шэйдарамі ў фармаце SPIR-V.

Нарэшце, калі вы хочаце даведацца больш пра гэты праект, вы можаце праверыць падрабязнасці ў сховішчы праекта, спасылка гэта.

Што тычыцца тых, хто зацікаўлены ў магчымасці ведаць код, яны павінны ведаць, што код апублікаваны ў адпаведнасці з ліцэнзіямі MIT і Apache 2.0 і яго можна атрымаць па спасылцы ніжэй.

І яны таксама могуць звярнуцца да дакументацыі, якая ўжо падрыхтавана для распрацоўшчыкаў, каб яны маглі працаваць на Linux, Windows і Mac. звярніцеся да кіраўніцтва па гэтай спасылцы.


Змест артыкула адпавядае нашым прынцыпам рэдакцыйная этыка. Каб паведаміць пра памылку, націсніце тут.

Каментарый, пакіньце свой

Пакіньце свой каментар

Ваш электронны адрас не будзе апублікаваны.

*

*

  1. Адказны за дадзеныя: Мігель Анхель Гатон
  2. Прызначэнне дадзеных: Кантроль спаму, кіраванне каментарыямі.
  3. Легітымнасць: ваша згода
  4. Перадача дадзеных: Дадзеныя не будуць перададзены трэцім асобам, за выключэннем юрыдычных абавязкаў.
  5. Захоўванне дадзеных: База дадзеных, размешчаная Occentus Networks (ЕС)
  6. Правы: у любы час вы можаце абмежаваць, аднавіць і выдаліць сваю інфармацыю.

  1.   Аўтапілот сказаў

    Іржа ўзлятае, спадзяюся, не чарговая "смяротная шкала".