ΠΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ ΠΠ΅ΡΠ° ΡΠ° ΠΎΠ±ΡΠ°Π²ΠΈΡΠ° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΎΠ΄ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ° 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