เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” 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-ั„ัƒะฝะบั†ะธะธ ะธะท ะบะพะดะฐ ะฝะฐ ะกะธ ะธ ะฝะฐะพะฑะพั€ะพั‚, ะฒ Rusticl ะทะฐะดะตะนัั‚ะฒะพะฒะฐะฝ rust-bindgen. ะ’ะพะทะผะพะถะฝะพัั‚ัŒ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ัะทั‹ะบะฐ Rust ะฒ ะฟั€ะพะตะบั‚ะต Mesa ะพะฑััƒะถะดะฐะตั‚ัั ั 2020 ะณะพะดะฐ. ะ˜ะท ะฟะปัŽัะพะฒ ะฟะพะดะดะตั€ะถะบะธ Rust ัƒะฟะพะผะธะฝะฐะตั‚ัั ะฟะพะฒั‹ัˆะตะฝะธะต ะฑะตะทะพะฟะฐัะฝะพัั‚ะธ ะธ ะบะฐั‡ะตัั‚ะฒะฐ ะดั€ะฐะนะฒะตั€ะพะฒ ะทะฐ ัั‡ั‘ั‚ ะธะทะฑะฐะฒะปะตะฝะธั ะพั‚ ั‚ะธะฟะพะฒั‹ั… ะฟั€ะพะฑะปะตะผ ะฟั€ะธ ั€ะฐะฑะพั‚ะต ั ะฟะฐะผัั‚ัŒัŽ, ะฐ ั‚ะฐะบะถะต ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะฒะบะปัŽั‡ะตะฝะธั ะฒ ัะพัั‚ะฐะฒ Mesa ัั‚ะพั€ะพะฝะฝะธั… ะฝะฐั€ะฐะฑะพั‚ะพะบ, ั‚ะฐะบะธั… ะบะฐะบ Kazan (ั€ะตะฐะปะธะทะฐั†ะธั Vulkan ะฝะฐ Rust). ะ˜ะท ะฝะตะดะพัั‚ะฐั‚ะบะพะฒ ะพั‚ะผะตั‡ะฐะตั‚ัั ัƒัะปะพะถะฝะตะฝะธะต ัะธัั‚ะตะผั‹ ัะฑะพั€ะบะธ, ะฝะตะถะตะปะฐะฝะธะต ะฟั€ะธะฒัะทั‹ะฒะฐั‚ัŒัั ะบ ะฟะฐะบะตั‚ะฝะพะน ัะธัั‚ะตะผะต cargo, ั€ะฐััˆะธั€ะตะฝะธะต ั‚ั€ะตะฑะพะฒะฐะฝะธะน ะบ ัะฑะพั€ะพั‡ะฝะพะผัƒ ะพะบั€ัƒะถะตะฝะธัŽ ะธ ะฝะตะพะฑั…ะพะดะธะผะพัั‚ัŒ ะฒะบะปัŽั‡ะตะฝะธั ะบะพะผะฟะธะปัั‚ะพั€ะฐ Rust ะฒ ัะฑะพั€ะพั‡ะฝั‹ะต ะทะฐะฒะธัะธะผะพัั‚ะธ, ะพะฑัะทะฐั‚ะตะปัŒะฝั‹ะต ะดะปั ะฟะพัั‚ั€ะพะตะฝะธั ะบะปัŽั‡ะตะฒั‹ั… ะบะพะผะฟะพะฝะตะฝั‚ะพะฒ ั€ะฐะฑะพั‡ะตะณะพ ัั‚ะพะปะฐ ะฒ Linux.

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

เบŠเบทเป‰เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ DDoS, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPS VDS ๐Ÿ”ฅ เบŠเบทเป‰เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDoS, เป€เบŠเบตเบšเป€เบงเบต VPS VDS | ProHoster