Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Mesa ΠΎΠ±ΡΠ²ΠΈΡ Π° ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΎΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΡΠ° Khronos Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° rusticl, ΠΊΠΎΠΉΡΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ ΠΎΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° CTS (Kronos Conformance Test Suite) ΠΈ Π΅ ΠΏΡΠΈΠ·Π½Π°Ρ Π·Π° Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° OpenCL 3.0, ΠΊΠΎΡΡΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° API ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π΅Π·ΠΈΠΊΠ° C Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ΅ΠΆΠ΄ΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ. ΠΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΎ Π΄Π° Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°ΡΠ΅ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΡΠ΅ ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ ΡΡΡΠ³ΠΎΠ²ΡΠΊΠΈ ΠΌΠ°ΡΠΊΠΈ Khronos. Π’Π΅ΡΡΡΡ Π±Π΅ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈ Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Intel ΠΎΡ 12 ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Gallium3D Iris.
ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Rust ΠΈ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Karol Herbst ΠΎΡ Red Hat, ΠΊΠΎΠΉΡΠΎ ΡΡΠ°ΡΡΠ²Π° Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Mesa, Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Nouveau ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΠΊ OpenCL. Rusticle Π΄Π΅ΠΉΡΡΠ²Π° ΠΊΠ°ΡΠΎ Π°Π½Π°Π»ΠΎΠ³ Π½Π° OpenCL ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Clover Π½Π° Mesa ΠΈ ΡΡΡΠΎ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Gallium, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ Π² Mesa. Clover Π΅ ΠΈΠ·ΠΎΡΡΠ°Π²Π΅Π½ ΠΎΡ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ rusticl Π΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ Π½Π΅Π³ΠΎΠ² Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅ΡΡΠΈΡΠ΅Π». Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ OpenCL 3.0, ΠΏΡΠΎΠ΅ΠΊΡΡΡ Rusticle ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π° ΠΎΡ Clover Π² ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° OpenCL ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠΎΡΠΌΠ°ΡΠ° FP16. ΠΠ° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡ Π·Π° Mesa ΠΈ OpenCL, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Rust ΠΎΡ C ΠΊΠΎΠ΄ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, Π² Rusticle ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° rust-bindgen.
ΠΠΎΠ΄ΡΡ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π΅Π·ΠΈΠΊ Rust ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡΡ rusticl ΡΠ° ΠΏΡΠΈΠ΅ΡΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊ Π½Π° Mesa ΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ Π² ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Mesa 22.3, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π° Π² ΠΊΡΠ°Ρ Π½Π° Π½ΠΎΠ΅ΠΌΠ²ΡΠΈ. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Rust ΠΈ rusticl ΡΠ΅ Π±ΡΠ΄Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Ρ ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ ΠΎΠΏΡΠΈΠΈ "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". ΠΠΎΠ³Π°ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°ΡΠ΅, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ rustc ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ, bindgen Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅, LLVM, SPIRV-Tools ΠΈ SPIRV-LLVM-Translator ΠΊΠ°ΡΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust Π² ΠΏΡΠΎΠ΅ΠΊΡΠ° Mesa ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π° ΠΎΡ 2020 Π³. Π‘ΡΠ΅Π΄ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Rust ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π° ΠΏΠΎΠ²ΠΈΡΠ΅Π½Π°ΡΠ° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠΏΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅Ρ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ Π² Mesa, ΠΊΠ°ΡΠΎ Kazan (ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° Vulkan Π² Π ΡΡΡ). ΠΠ΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΏΠΎΠ²ΠΈΡΠ΅Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅, Π½Π΅ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΠ±Π²ΡΡΠ·Π°Π½Π° ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠΎΠ²Π°ΡΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π·Π° ΡΡΠ΅Π΄Π°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Rust Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΠ»ΠΎΡ Π½Π° Linux.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Nouveau, ΠΈΠ·Π²ΡΡΡΠ΅Π½Π° ΡΡΡΠΎ ΠΎΡ ΠΠ°ΡΠΎΠ» Π₯Π΅ΡΠ±ΡΡ. ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ Nouveau Π΄ΠΎΠ±Π°Π²ΠΈ ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° OpenGL Π·Π° GNU NVIDIA GeForce RTX 30xx, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Ampere, ΠΏΡΡΠ½Π°ΡΠ° ΠΎΡ ΠΌΠ°ΠΉ 2020 Π³. ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π½ΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²Π΅, ΡΠ΅ Π±ΡΠ΄Π°Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux 6.2 ΠΈ Mesa 22.3.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru