ื™ื™ืฉื•ื Rust ืฉืœ Mesa ืฉืœ OpenCL ืชื•ืžืš ื›ืขืช ื‘-OpenCL 3.0

ื”ื™ื™ืฉื•ื ื”ื—ื“ืฉ ืฉืœ OpenCL (rusticl), ืฉื ื›ืชื‘ ื‘-Rust, ื”ืžืคื•ืชื— ืขื‘ื•ืจ ืคืจื•ื™ืงื˜ Mesa, ืขื‘ืจ ื‘ื”ืฆืœื—ื” ืืช ื—ื‘ื™ืœืช ื”ื‘ื“ื™ืงื•ืช CTS (Kronos Conformance Test Suite) ื”ืžืฉืžืฉืช ืืช ืงื•ื ืกื•ืจืฆื™ื•ื Khronos ืœื”ืขืจื›ืช ืชืื™ืžื•ืช ืœืžืคืจื˜ื™ OpenCL 3.0. ื”ืคืจื•ื™ืงื˜ ืžืคื•ืชื— ืขืœ ื™ื“ื™ Karol Herbst ืž-Red Hat, ื”ืžืขื•ืจื‘ ื‘ืคื™ืชื•ื— ืฉืœ Mesa, ื“ืจื™ื™ื‘ืจ ื”ื ื•ื‘ื• ื•ื”-OpenCL Open Stack. ื™ืฆื•ื™ืŸ ื›ื™ ืงืจื•ืœ ื™ืฆืจื” ืงืฉืจ ืขื Khronos ื‘ื ื•ื’ืข ืœื”ืกืžื›ื” ื”ืจืฉืžื™ืช ืฉืœ ืชืžื™ื›ื” ื‘-OpenCL 3.0 ื‘ื›ืคืจื™ื•ืช.

ื”ื‘ื“ื™ืงื•ืช ื”ื•ืฉืœืžื• ืขืœ ืžืขืจื›ืช ืขื ื“ื•ืจ 12 ืฉืœ ืื™ื ื˜ืœ GPU (Alder Lake). ื”ืขื‘ื•ื“ื” ื‘ื•ืฆืขื” ื‘ืืžืฆืขื•ืช ื“ืจื™ื™ื‘ืจ Mesa Iris, ืืš ื”ืคืจื•ื™ืงื˜ ืืžื•ืจ ืœืขื‘ื•ื“ ื’ื ืขื ื“ืจื™ื™ื‘ืจื™ื ืื—ืจื™ื ืฉืœ Mesa ื”ืžืฉืชืžืฉื™ื ื‘ื™ื™ืฆื•ื’ ื‘ื™ื ื™ื™ื ื—ืกืจ ืกื•ื’ (IR) ืฉืœ ื”ืฆืœืœื•ืช NIR. ื”ื‘ืงืฉื” ืœืžื™ื–ื•ื’ Rusticle ืขื Mesa ืขื“ื™ื™ืŸ ื‘ื‘ื“ื™ืงื” ื•ืœื ื”ืชืงื‘ืœื” ื”ื—ืœื˜ื” ืื ืœื›ืœื•ืœ ืืช ืงื•ื“ Rust ื‘-Mesa. ืœืคื ื™ ืฉ-Rusticl ื™ืชืงื‘ืœ ืœื”ืจื›ื‘ Mesa ื”ืจืืฉื™, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืขื ืฃ ื ืคืจื“ ืœื‘ื ื™ื™ื”, ื‘ืขืช ื”ืงื•ืžืคื™ืœืฆื™ื” ืขืœื™ืš ืœืฆื™ื™ืŸ ืืช ืคืจืžื˜ืจื™ ื”-build "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm= ื ึธื›ื•ึนืŸ".

Rusticle ืคื•ืขืœ ื›ืื ืœื•ื’ื™ ืœ-OpenCL Frontend Clover ืฉืœ Mesa ื•ืžืคื•ืชื— ื’ื ื‘ืืžืฆืขื•ืช ืžืžืฉืง Gallium ื”ืžืกื•ืคืง ื‘-Mesa. ื™ืชื“ ืชืœืชืŸ ื ื˜ื•ืฉ ื‘ืžืฉืš ื–ืžืŸ ืจื‘ ื•ื”ื›ืคืจื™ื™ื ืžื•ืฆื‘ื™ื ื›ืžื—ืœื™ืคื• ื”ืขืชื™ื“ื™. ื‘ื ื•ืกืฃ ืœื”ืฉื’ืช ืชืื™ืžื•ืช OpenCL 3.0, ืคืจื•ื™ืงื˜ Rusticle ืฉื•ื ื” ืž-Clover ื‘ืชืžื™ื›ื” ื‘ื”ืจื—ื‘ื•ืช OpenCL ืœืขื™ื‘ื•ื“ ืชืžื•ื ื”, ืืš ืขื“ื™ื™ืŸ ืื™ื ื• ืชื•ืžืš ื‘ืคื•ืจืžื˜ FP16.

ื›ื“ื™ ืœื™ืฆื•ืจ ื›ืจื™ื›ื•ืช ืขื‘ื•ืจ Mesa ื•-OpenCL, ืžื” ืฉืžืืคืฉืจ ืœืš ืœืงืจื•ื ืœืคื•ื ืงืฆื™ื•ืช Rust ืžืงื•ื“ C ื•ืœื”ื™ืคืš, Rust-bindgen ืžืฉืžืฉ ื‘-Rusticle. ื”ืืคืฉืจื•ืช ืœื”ืฉืชืžืฉ ื‘ืฉืคืช Rust ื‘ืคืจื•ื™ืงื˜ Mesa ื ื“ื•ื ื” ืžืื– 2020. ื‘ื™ืŸ ื”ื™ืชืจื•ื ื•ืช ืฉืœ ืชืžื™ื›ืช Rust, ืžื•ื–ื›ืจืช ื”ืื‘ื˜ื—ื” ื•ื”ืื™ื›ื•ืช ื”ืžื•ื’ื‘ืจืช ืฉืœ ืžื ื”ืœื™ ื”ืชืงื ื™ื ืขืงื‘ ื”ื™ืคื˜ืจื•ืช ืžื‘ืขื™ื•ืช ืื•ืคื™ื™ื ื™ื•ืช ื‘ืขื‘ื•ื“ื” ืขื ื–ื™ื›ืจื•ืŸ, ื›ืžื• ื’ื ื”ื™ื›ื•ืœืช ืœื›ืœื•ืœ ืคื™ืชื•ื—ื™ื ืฉืœ ืฆื“ ืฉืœื™ืฉื™ ื‘-Mesa, ื›ื’ื•ืŸ Kazan (ื™ื™ืฉื•ื ืฉืœ Vulkan ื‘ื—ืœื•ื“ื”). ื”ื—ืกืจื•ื ื•ืช ื›ื•ืœืœื™ื ืžื•ืจื›ื‘ื•ืช ืžื•ื’ื‘ืจืช ืฉืœ ืžืขืจื›ืช ื”ื‘ื ื™ื™ื”, ื—ื•ืกืจ ืจืฆื•ืŸ ืœื”ื™ื•ืช ืงืฉื•ืจ ืœืžืขืจื›ืช ื—ื‘ื™ืœื•ืช ื”ืžื˜ืขืŸ, ื“ืจื™ืฉื•ืช ืžื•ืจื—ื‘ื•ืช ืœืกื‘ื™ื‘ืช ื”ื‘ื ื™ื™ื”, ื•ื”ืฆื•ืจืš ืœื›ืœื•ืœ ืืช ืžื”ื“ืจ Rust ื‘ืชืœื•ื™ื•ืช ื”ื‘ื ื™ื™ื” ื”ื ื“ืจืฉื•ืช ืœื‘ื ื™ื™ืช ืจื›ื™ื‘ื™ ืฉื•ืœื—ืŸ ืขื‘ื•ื“ื” ืžืจื›ื–ื™ื™ื ื‘ืœื™ื ื•ืงืก.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”