เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” Rust เบ‚เบญเบ‡ Mesa เบ‚เบญเบ‡ OpenCL เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ OpenCL 3.0

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” OpenCL เปƒเบซเบกเปˆ (rusticl), เบฅเบฒเบเบฅเบฑเบเบญเบฑเบเบชเบญเบ™เปƒเบ™ Rust, เป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™ Mesa, เป„เบ”เป‰เบชเปเบฒเป€เบฅเบฑเบ”เบŠเบธเบ”เบ—เบปเบ”เบชเบญเบš CTS โ€‹โ€‹(Kronos Conformance Test Suite) เบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบเบเบธเปˆเบก Khronos เป€เบžเบทเปˆเบญเบ›เบฐเป€เบกเบตเบ™เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบš OpenCL 3.0 เบชเบฐเป€เบžเบฒเบฐ. เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบ Karol Herbst เบˆเบฒเบ Red Hat, เบœเบนเป‰เบ—เบตเปˆเบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบกเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ Mesa, เบœเบนเป‰เบ‚เบฑเบšเบ‚เบตเปˆ Nouveau เปเบฅเบฐ OpenCL open stack. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบงเปˆเบฒ Carol เบ•เบดเบ”เบ•เปเปˆ Khronos เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบขเบฑเป‰เบ‡เบขเบทเบ™เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ OpenCL 3.0 เปƒเบ™ rusticl.

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป„เบ”เป‰เบ–เบทเบเบชเปเบฒเป€เบฅเบฑเบ”เปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบต Intel GPU เบฎเบธเปˆเบ™เบ—เบต 12 (Alder Lake). เบงเบฝเบเบ‡เบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบ‚เบฑเบš Mesa Iris, เปเบ•เปˆเป‚เบ„เบ‡เบเบฒเบ™เบเบฑเบ‡เบ„เบงเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ•เบปเบงเบ‚เบฑเบš Mesa เบญเบทเปˆเบ™เป†เบ—เบตเปˆเปƒเบŠเป‰เบ•เบปเบงเบชเบฐเปเบ”เบ‡เบ•เบปเบงเบเบฒเบ‡เปเบšเบš typeless (IR) เบ‚เบญเบ‡ NIR shaders. เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ—เบตเปˆเบˆเบฐเบฅเบงเบก Rusticle เบเบฑเบš Mesa เปเบกเปˆเบ™เบเบฑเบ‡เบขเบนเปˆเปƒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเปเบฅเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ—เบตเปˆเบˆเบฐเบฅเบงเบกเป€เบญเบปเบฒเบฅเบฐเบซเบฑเบ” Rust เปƒเบ™ Mesa. เบเปˆเบญเบ™เบ—เบตเปˆ Rusticl เบˆเบฐเบ–เบทเบเบเบญเบกเบฎเบฑเบšเป€เบ‚เบปเป‰เบฒเปƒเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบš Mesa เบ•เบปเป‰เบ™เบ•เป, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบชเบฒเบ‚เบฒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡, เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเบ—เบตเปˆเบ—เปˆเบฒเบ™เบ„เบงเบ™เบฅเบฐเบšเบธเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm= เบ„เบงเบฒเบกเบˆเบดเบ‡โ€.

Rusticle เป€เบฎเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบ•เบปเบงเบ›เบฝเบšเบ—เบฝเบšเบ‚เบญเบ‡ OpenCL frontend Clover เบ‚เบญเบ‡ Mesa เปเบฅเบฐเบเบฑเบ‡เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš Gallium เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบขเบนเปˆเปƒเบ™ Mesa. เบชเบฐเป€เบ•เบ Clover เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ–เบดเป‰เบกเป„เบงเป‰เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ”เบปเบ™เบ™เบฒเบ™เปเบฅเบฐ rusticl เปเบกเปˆเบ™เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”. เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบเบฒเบ™เบšเบฑเบ™เบฅเบธเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบ‚เบญเบ‡ OpenCL 3.0, เป‚เบ„เบ‡เบเบฒเบ™ Rusticle เปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบ Clover เปƒเบ™เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ OpenCL เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบฎเบนเบšเบžเบฒเบš, เปเบ•เปˆเบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบนเบšเปเบšเบš FP16.

เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบชเปเบฒเบฅเบฑเบš Mesa เปเบฅเบฐ OpenCL, เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบญเบตเป‰เบ™เบŸเบฑเบ‡เบŠเบฑเบ™ Rust เบˆเบฒเบเบฅเบฐเบซเบฑเบ” C เปเบฅเบฐเปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™, rust-bindgen เปเบกเปˆเบ™เปƒเบŠเป‰เปƒเบ™ Rusticle. เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เปƒเบŠเป‰เบžเบฒเบชเบฒ Rust เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™ Mesa เป„เบ”เป‰เบ–เบทเบเบ›เบถเบเบชเบฒเบซเบฒเบฅเบทเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ›เบต 2020. เปƒเบ™เบšเบฑเบ™เบ”เบฒเบ‚เปเป‰เป„เบ”เป‰เบ›เบฝเบšเบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Rust, เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ—เบตเปˆเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เปเบฅเบฐเบ„เบธเบ™เบ™เบฐเบžเบฒเบšเบ‚เบญเบ‡เบœเบนเป‰เบ‚เบฑเบšเบ‚เบตเปˆเป„เบ”เป‰เบ–เบทเบเบเปˆเบฒเบงเป€เบ–เบดเบ‡เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบเปเบฒเบˆเบฑเบ”เบšเบฑเบ™เบซเบฒเบ›เบปเบเบเบฐเบ•เบดเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบฅเบงเบกเป€เบญเบปเบฒเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบกเปƒเบ™ Mesa, เป€เบŠเบฑเปˆเบ™ Kazan (เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ Vulkan. เปƒเบ™ Rust). เบ‚เปเป‰เป€เบชเบเบฅเบงเบกเป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เบ—เบตเปˆเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡, เบ„เบงเบฒเบกเบšเปเปˆเป€เบ•เบฑเบกเปƒเบˆเบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบžเบฑเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเบชเบดเบ™เบ„เป‰เบฒ, เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบชเปเบฒเบฅเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡, เปเบฅเบฐเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบฅเบงเบกเป€เบญเบปเบฒ Rust compiler เปƒเบ™เบเบฒเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบš desktop เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™ Linux.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™