Π’ΠΎΠ·Π°Ρ‡ΠΎΡ‚ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Rusticle Π΅ сСртифициран ΠΊΠΎΠΌΠΏΠ°Ρ‚ΠΈΠ±ΠΈΠ»Π΅Π½ со OpenCL 3.0

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ МСса ја објавија ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΎΠ΄ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Khronos Π½Π° рустикл Π΄Ρ€Π°Ρ˜Π²Π΅Ρ€ΠΎΡ‚, кој ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π³ΠΈ ΠΏΠΎΠΌΠΈΠ½Π° ситС тСстови ΠΎΠ΄ ΠΊΠΎΠΌΠΏΠ»Π΅Ρ‚ΠΎΡ‚ CTS (Kronos Conformance Test Suite) ΠΈ Π΅ ΠΏΡ€Π΅ΠΏΠΎΠ·Π½Π°Π΅Π½ ΠΊΠ°ΠΊΠΎ цСлосно ΠΊΠΎΠΌΠΏΠ°Ρ‚ΠΈΠ±ΠΈΠ»Π΅Π½ со ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° OpenCL 3.0, која Π³ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° API ΠΈ СкстСнзии Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ C Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ ΠΏΡ€Π΅ΡΠΌΠ΅Ρ‚ΡƒΠ²Π°ΡšΠ΅ ΠΌΠ΅Ρ“Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ. Π”ΠΎΠ±ΠΈΠ²Π°ΡšΠ΅Ρ‚ΠΎ сСртификат Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° ΠΎΡ„ΠΈΡ†ΠΈΡ˜Π°Π»Π½ΠΎ Π΄Π° ΠΈΠ·Ρ˜Π°Π²ΠΈΡ‚Π΅ усогласСност со стандардитС ΠΈ Π΄Π° Π³ΠΈ користитС ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈΡ‚Π΅ Π·Π°ΡˆΡ‚ΠΈΡ‚Π½ΠΈ Π·Π½Π°Ρ†ΠΈ Π½Π° Khronos. ВСстот бСшС ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ Π½Π° систСм со ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ΠΈ Π³Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈ процСсори Π½Π° Intel ΠΎΠ΄ 12 Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ со помош Π½Π° Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΎΡ‚ Gallium3D Iris.

Π’ΠΎΠ·Π°Ρ‡ΠΎΡ‚ Π΅ напишан Π²ΠΎ Rust ΠΈ Ρ€Π°Π·Π²ΠΈΠ΅Π½ ΠΎΠ΄ ΠšΠ°Ρ€ΠΎΠ» Π₯Србст ΠΎΠ΄ Red Hat, кој Π΅ Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ Π²ΠΎ Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π½Π° Mesa, Π²ΠΎΠ·Π°Ρ‡ΠΎΡ‚ Nouveau ΠΈ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈΠΎΡ‚ стСк OpenCL. Рустикл Π΄Π΅Π»ΡƒΠ²Π° ΠΊΠ°ΠΊΠΎ Π°Π½Π°Π»ΠΎΠ³ Π½Π° ΠΏΡ€Π΅Π΄Π½ΠΈΠΎΡ‚ Π΄Π΅Π» Π½Π° МСса OpenCL Clover ΠΈ исто Ρ‚Π°ΠΊΠ° Π΅ Ρ€Π°Π·Π²ΠΈΠ΅Π½ со помош Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΎΡ‚ Π“Π°Π»ΠΈΡƒΠΌ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ Π²ΠΎ МСса. Π”Π΅Ρ‚Π΅Π»ΠΈΠ½Π° Π΅ Π½Π°ΠΏΡƒΡˆΡ‚Π΅Π½Π° Π΄ΠΎΠ»Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Π° рустиклот Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π½ ΠΊΠ°ΠΊΠΎ нСјзина ΠΈΠ΄Π½Π° Π·Π°ΠΌΠ΅Π½Π°. ΠŸΠΎΠΊΡ€Π°Ρ˜ ΠΏΠΎΡΡ‚ΠΈΠ³Π½ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° компатибилност со OpenCL 3.0, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Rusticle сС Ρ€Π°Π·Π»ΠΈΠΊΡƒΠ²Π° ΠΎΠ΄ Clover Π²ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°Ρ‚Π° Π½Π° СкстСнзии Π½Π° OpenCL Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° слики, Π½ΠΎ сè ΡƒΡˆΡ‚Π΅ Π½Π΅ Π³ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΡ‚ FP16. Π—Π° Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚Π΅ врски Π·Π° Mesa ΠΈ OpenCL, ΡˆΡ‚ΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π³ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ°Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Rust ΠΎΠ΄ C ΠΊΠΎΠ΄ΠΎΡ‚ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, Rust-bindgen сС користи Π²ΠΎ Rusticle.

ΠšΠΎΠ΄ΠΎΡ‚ Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Rust ΠΈ рустикл-Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΎΡ‚ сС ΠΏΡ€ΠΈΡ„Π°Ρ‚Π΅Π½ΠΈ Π²ΠΎ ΠΌΠ΅Ρ˜Π½ΡΡ‚Ρ€ΠΈΠΌΠΎΡ‚ Π½Π° Mesa ΠΈ ќС Π±ΠΈΠ΄Π°Ρ‚ ΠΏΠΎΠ½ΡƒΠ΄Π΅Π½ΠΈ Π²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Mesa 22.3, ΠΊΠΎΠ΅ сС ΠΎΡ‡Π΅ΠΊΡƒΠ²Π° ΠΊΠΎΠ½ ΠΊΡ€Π°Ρ˜ΠΎΡ‚ Π½Π° Π½ΠΎΠ΅ΠΌΠ²Ρ€ΠΈ. ΠŸΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°Ρ‚Π° Π·Π° 'Ρ€Ρ“Π° ΠΈ рустикл ќС Π±ΠΈΠ΄Π΅ стандардно ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½Π° ΠΈ ќС Π±Π°Ρ€Π° Π³Ρ€Π°Π΄Π±Π° со Сксплицитно Π½Π°Π²Π΅Π΄Π΅Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ β€ž-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021β€œ. Кога Π³Ρ€Π°Π΄ΠΈΡ‚Π΅, ќС Π²ΠΈ Ρ‚Ρ€Π΅Π±Π° ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ΠΎΡ‚ rustc, Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π° Π²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π·Π° Π²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅, LLVM, SPIRV-Tools ΠΈ SPIRV-LLVM-Translator ΠΊΠ°ΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ зависности.

ΠœΠΎΠΆΠ½ΠΎΡΡ‚Π° Π·Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Rust Π²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ МСса сС дискутира ΠΎΠ΄ 2020 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠœΠ΅Ρ“Ρƒ прСдноститС Π½Π° Rust ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°Ρ‚Π°, сС спомСнува Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½Π°Ρ‚Π° бСзбСдност ΠΈ ΠΊΠ²Π°Π»ΠΈΡ‚Π΅Ρ‚ Π½Π° Π΄Ρ€Π°Ρ˜Π²Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅ ΠΎΠ΄ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° со ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°, ΠΊΠ°ΠΊΠΎ ΠΈ моТноста Π·Π° Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° настани ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚ΠΈ страни Π²ΠΎ Mesa, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ Казан (ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° Vulkan Π²ΠΎ Руст). НСдостатоцитС Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Π°Ρ‚ Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½Π° слоТСност Π½Π° систСмот Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅, нСподготвСност Π΄Π° сС ΠΏΠΎΠ²Ρ€Π·Π΅ со систСмот Π·Π° ΠΊΠ°Ρ€Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, ΠΏΡ€ΠΎΡˆΠΈΡ€Π΅Π½ΠΈ Π±Π°Ρ€Π°ΡšΠ° Π·Π° Π³Ρ€Π°Π΄Π΅ΠΆΠ½Π°Ρ‚Π° срСдина ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π΄Π° сС Π²ΠΊΠ»ΡƒΡ‡ΠΈ Rust ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ΠΎΡ‚ Π²ΠΎ зависноститС Π·Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ Π·Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π° Π½Π° ΠΊΠ»ΡƒΡ‡Π½ΠΈΡ‚Π΅ дСсктоп ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Linux.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ја Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π½Π° Π²ΠΎΠ·Π°Ρ‡ΠΎΡ‚ Nouveau, исто Ρ‚Π°ΠΊΠ° ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½Π° ΠΎΠ΄ ΠšΠ΅Ρ€ΠΎΠ» Π₯Србст. Π’ΠΎΠ·Π°Ρ‡ΠΎΡ‚ Nouveau Π΄ΠΎΠ΄Π°Π΄Π΅ основна ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° OpenGL Π·Π° GNU NVIDIA GeForce RTX 30xx Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Ampere, објавСна ΠΎΠ΄ мај 2020 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°Ρ‚Π° Π·Π° Π½ΠΎΠ²ΠΈ Ρ‡ΠΈΠΏΠΎΠ²ΠΈ ќС Π±ΠΈΠ΄Π°Ρ‚ Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ΠΈ Π²ΠΎ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Linux 6.2 ΠΈ Mesa 22.3.

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€