Rusticle オープンソース ドライバーは OpenCL 3.0 との互換性が認定されています

Mesa プロジェクトの開発者は、Rusticl ドライバーが Khronos 組織によって認定されたことを発表しました。このドライバーは、CTS (Kronos Conformance Test Suite) セットのすべてのテストに合格し、API とクロスプラットフォームの並列コンピューティングを組織するための C 言語の拡張機能。 証明書を取得すると、規格への準拠を正式に宣言し、関連するクロノス商標を使用できるようになります。 テストは、Gallium3.0D Iris ドライバーを使用して、第 12 世代統合インテル GPU を搭載したシステムで実行されました。

このドライバーは Rust で書かれており、Mesa、Nouveau ドライバー、および OpenCL オープン スタックの開発に携わっている Red Hat の Karol Herbst によって開発されました。 Rusticle は、Mesa の OpenCL フロントエンド Clover の類似物として機能し、Mesa で提供される Gallium インターフェイスを使用して開発されています。 Clover は長い間放棄されており、Rusticl は将来の代替として位置付けられています。 OpenCL 3.0 との互換性を実現することに加えて、Rusticle プロジェクトは画像処理用の OpenCL 拡張機能をサポートする点で Clover とは異なりますが、FP16 形式はまだサポートしていません。 Mesa と OpenCL のバインディングを生成して、C コードから Rust 関数を呼び出すこと、またはその逆を可能にするために、Rusticle では Rust-bindgen が使用されます。

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 が必要になります。

Mesa プロジェクトで Rust 言語を使用する可能性については、2020 年から議論されてきました。 Rust サポートの利点の XNUMX つは、メモリを操作する際の典型的な問題を取り除くことによるドライバーのセキュリティと品質の向上、および Kazan (Vulkan の実装) などのサードパーティ開発を Mesa に含めることができることです。 Rustでは)。 デメリットとしては、ビルド システムの複雑さの増加、カーゴ パッケージ システムへの結びつきへの抵抗、ビルド環境の要件の拡大、Linux 上で主要なデスクトップ コンポーネントをビルドするために必要なビルドの依存関係に Rust コンパイラを含める必要があることが挙げられます。

さらに、同じく Carol Herbst によって行われた Nouveau ドライバーの開発作業にも注目できます。 Nouveau ドライバーは、30 年 2020 月以降にリリースされた Ampere マイクロアーキテクチャに基づく GNU NVIDIA GeForce RTX 6.2xx の基本的な OpenGL サポートを追加しました。 新しいチップのサポートに関連する変更は、Linux 22.3 カーネルお​​よび Mesa XNUMX に含まれる予定です。

出所: オープンネット.ru

コメントを追加します