Mesa ํ๋ก์ ํธ ๊ฐ๋ฐ์๋ค์ rusticl ๋๋ผ์ด๋ฒ๊ฐ Khronos ์กฐ์ง์์ ์ธ์ฆ์ ๋ฐ์์ผ๋ฉฐ, CTS(Kronos Conformance Test Suite)์ ๋ชจ๋ ํ ์คํธ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ํต๊ณผํ์ผ๋ฉฐ ํฌ๋ก์ค ํ๋ซํผ ๋ณ๋ ฌ ์ปดํจํ ์ ๊ตฌ์ฑํ๊ธฐ ์ํ C ์ธ์ด์ API์ ํ์ฅ์ ์ ์ํ๋ OpenCL 3.0 ์ฌ์๊ณผ ์๋ฒฝํ๊ฒ ํธํ๋๋ ๊ฒ์ผ๋ก ์ธ์ ๋ฐ์๋ค๊ณ ๋ฐํํ์ต๋๋ค. ์ธ์ฆ์ ์ทจ๋ํ๋ฉด Khronos๋ ํ์ค์ ์ค์ํ๋ค๋ ๊ฒ์ ๊ณต์์ ์ผ๋ก ์ ์ธํ๊ณ ๊ด๋ จ ์ํ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ ์คํธ๋ Gallium12D Iris ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ์ฌ 3์ธ๋ Intel ํตํฉ GPU๊ฐ ์ฅ์ฐฉ๋ ์์คํ ์์ ์ํ๋์์ต๋๋ค.
๋๋ผ์ด๋ฒ๋ Rust๋ก ์์ฑ๋์์ผ๋ฉฐ Mesa, Nouveau ๋๋ผ์ด๋ฒ ๋ฐ ์คํ ์์ค OpenCL ์คํ ๊ฐ๋ฐ์ ์ฐธ์ฌํ Red Hat์ Karol Herbst๊ฐ ๊ฐ๋ฐํ์ต๋๋ค. Rusticl์ Mesa์ OpenCL ํ๋ฐํธ์๋ Clover์ ์๋ ๋ก๊ทธ๋ก ์๋ํ๋ฉฐ, ์ญ์ Mesa์ Gallium ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ๋์์ต๋๋ค. ํด๋ก๋ฒ๋ ํ๋์ ํฉํํด์ง ์ํ์์ผ๋ฉฐ rusticl์ด ๋ฏธ๋์ ๋์ฒด๋ฌผ๋ก ์๋ฆฌ ์ก์์ต๋๋ค. OpenCL 3.0 ํธํ์ฑ์ ๋ฌ์ฑํ๋ ๊ฒ ์ธ์๋ Rusticl ํ๋ก์ ํธ๋ ์ด๋ฏธ์ง ์ฒ๋ฆฌ๋ฅผ ์ํ OpenCL ํ์ฅ์ ์ง์ํ์ง๋ง ์์ง FP16 ํ์์ ์ง์ํ์ง ์๋๋ค๋ ์ ์์ Clover์ ๋ค๋ฆ ๋๋ค. Rusticl์ rust-bindgen์ ์ฌ์ฉํ์ฌ Mesa์ OpenCL์ ๋ํ ๋ฐ์ธ๋ฉ์ ์์ฑํ์ฌ C ์ฝ๋์์ Rust ํจ์๋ฅผ ํธ์ถํ ์ ์๋๋ก ํ๊ณ , ๊ทธ ๋ฐ๋์ ์์ ๋ ๊ฐ๋ฅํฉ๋๋ค.
Rust ์ธ์ด ์ง์ ์ฝ๋์ rusticl ๋๋ผ์ด๋ฒ๊ฐ Mesa ์ฝ์ด์ ์์ฉ๋์์ผ๋ฉฐ, 22.3์ ํ์์ ์ถ์๋ ์์ ์ธ Mesa 2021 ๋ฆด๋ฆฌ์ค์์ ์ ๊ณต๋ ์์ ์ ๋๋ค. Rust์ rusticl ์ง์์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋๋ฉฐ "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=XNUMX"์ด๋ผ๋ ๋ช ์์ ์ต์ ์ ์ฌ์ฉํ์ฌ ๋น๋ํด์ผ ํฉ๋๋ค. ๋น๋ํ ๋ ํ์ํ ์ถ๊ฐ ์ข ์์ฑ์ rustc ์ปดํ์ผ๋ฌ, bindgen, LLVM, SPIRV-Tools, SPIRV-LLVM-Translator์ ๋๋ค.
๋ฉ์ฌ ํ๋ก์ ํธ์์ Rust ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ 2020๋ ๋ถํฐ ๋ ผ์๋์ด ์์ต๋๋ค. Rust ์ง์์ ์ฅ์ ์ผ๋ก๋ ์ผ๋ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ฌ ๋ณด์ ๋ฐ ๋๋ผ์ด๋ฒ ํ์ง์ ํฅ์์ํฌ ์ ์๋ค๋ ์ , ๊ทธ๋ฆฌ๊ณ Kazan(Vulkan์ Rust ๊ตฌํ์ฒด)๊ณผ ๊ฐ์ ํ์ฌ ๊ฐ๋ฐ ํ๋ก์ ํธ๋ฅผ ๋ฉ์ฌ์ ํตํฉํ ์ ์๋ค๋ ์ ๋ฑ์ด ์์ต๋๋ค. ๋จ์ ์ผ๋ก๋ ๋น๋ ์์คํ ์ ๋ณต์ก์ฑ ์ฆ๊ฐ, Cargo ํจํค์ง ์์คํ ๊ณผ์ ์ฐ๋์ ๋ํ ๊ฑฐ๋ถ๊ฐ, ๋น๋ ํ๊ฒฝ ์๊ตฌ ์ฌํญ์ ํ์ฅ, ๊ทธ๋ฆฌ๊ณ ์ฃผ์ ๋ฐ์คํฌํฑ ๊ตฌ์ฑ ์์๋ฅผ ๋น๋ํ๋ ๋ฐ ํ์ํ ๋น๋ ์ข ์์ฑ์ Rust ์ปดํ์ผ๋ฌ๋ฅผ ํฌํจํด์ผ ํ๋ค๋ ์ ๋ฑ์ด ์์ต๋๋ค. Linux.
๋ํ, ์บ๋กค ํ๋ธ์คํธ๊ฐ ์ฃผ๋ํ๋ ๋๋ณด(Nouveau) ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ ์์
๋ ์ฃผ๋ชฉํ ๋งํฉ๋๋ค. ๋๋ณด ๋๋ผ์ด๋ฒ๋ 2020๋
5์ ์ดํ ์ถ์๋ ์ํ์ด(Ampere) ๋ง์ดํฌ๋ก์ํคํ
์ฒ ๊ธฐ๋ฐ์ NVIDIA GeForce RTX 30xx GPU์ ๊ธฐ๋ณธ์ ์ธ OpenGL ์ง์์ ์ถ๊ฐํฉ๋๋ค. ์๋ก์ด ์นฉ ์ง์ ๊ด๋ จ ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋์ ํตํฉ๋ ์์ ์
๋๋ค. Linux 6.2 ๋ฐ ๋ฉ์ฌ 22.3.
์ถ์ฒ : opennet.ru
