この記事は、The Parallel Universe Magazine 55 号に掲載されている「Unified Acceleration (UXL) Foundation」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。
テクノロジー業界では注目すべき変化が起きており、ヘテロジニアス・アーキテクチャーへの大きな波が押し寄せています。この新たな波への移行により、多くのソフトウェアのパフォーマンスが大幅に向上する可能性があります。「ヘテロジニアス」という用語は以前から使われていましたが、特に最新の AI ソフトウェアの出現と注目度の高さにより、この用語が重視されるようになったのはつい最近のことです。ヘテロジニアスとは、複数の種類のプロセッサー、例えば CPU、GPU、FPGA、TPU などから構成されるコンピューター・アーキテクチャーを指し、多くの場合、特定の種類のワークロードを高速化するために設計されます。実際に、世界上位のスーパーコンピューターの多くはヘテロジニアス・アーキテクチャーの一部として GPU を利用しており、この割合は最近の AI ブーム以前の過去 5 年間で大幅に増加しました。
ChatGPT* などの大規模言語モデルベースのアプリケーションは、ユーザーにインタラクティブな情報を提供する驚くべき能力を実証し、最近ではニュースの見出しを賑わしています。理解しておくべき重要なことは、これらのモデルはヘテロジニアス・アーキテクチャーでのみ実行可能であるということです。高度な並列システムを活用しているのは AI ソフトウェアだけではなく、業界全体で、HPC、データセンター、組込み環境など、研究アプリケーションと産業アプリケーションの両方の限界を押し上げるパフォーマンスを提供するために GPU が使用されています。この傾向は、科学、医療、金融などの多くの領域に当てはまります。
このことは業界にとって何を意味するのでしょうか。また、オープン・スタンダードや UXL Foundation とはどのように関係しているのでしょうか。
GPU の利用が一般化し、特定のワークロード (AI など) 向けに設計されたプロセッサーの使用が増えることにより、ソフトウェア開発者は、マルチベンダーおよびマルチアーキテクチャーのシステム向けに高度な並列ソフトウェアを開発するという課題に直面しています。私の同僚で UXL ステアリング・コミッティー (運営委員会) のメンバーでもある Robert Cohn は、Linux* と GNU* がオープンソースとオープン・スタンダードを使用して、特にデータセンターで、CPU のソフトウェア・スタックをどのように変換したかを思い出させてくれました。その結果、開発者はソフトウェアを作成するときに、どの種類の CPU 向けにコンパイルしているのか考える必要がなくなりました。これは GPU や AI アクセラレーターではまだ実現していませんが、業界は協力して解決に取り組んでいます。
Unified Acceleration (UXL) Foundation (英語) の設立は2023年9月に発表 (英語) され、ハードウェアとソフトウェアの業界全体からメンバーが集まりました。UXL Foundation は、Linux Foundation の一部であり、オープンで独立したガバナンスモデルを採用しています。UXL Foundation の目標は、オープン・スタンダードとオープンソース・ソフトウェアを中心とするアクセラレーター・エコシステムを統合し、開発者が現在および将来にわたりマルチベンダー、マルチアーキテクチャー・システムをターゲットにできるアプリケーションを構築できるようにすることです。開発者がソフトウェアを作成するときにターゲットにするプロセッサーについて考える必要がなくなれば、我々の仕事は完了です。
UXL Foundation は、oneAPI 仕様とこの仕様を実装するプロジェクトの上に成り立っています。これらのプロジェクトはすでにマルチベンダー・ターゲットを開発者に提供しており、メンバーは今後もこれらをベースに開発を継続します。仕様とプロジェクトはインテルから UXL Foundation に提供されており、開発者が高速化されたアプリケーションとワークロードを作成するのに必要な基礎をカバーしています。これらのプロジェクトは、UXL Foundation により定義されたオープンガバナンスの原則とプロセスに基づいて運営されます。重要なことは、すべての貢献が平等に扱われ、オープンな提案や議論を通じてプロジェクトの将来を決定する上で、コミュニティーが発言権を持つことができるという点です。
UXL Foundation は、2 つの基本的な分野の共同作業を可能にする方法で組織されています。まず、プロジェクトに関する議論とフィードバックを促進することを目的としたスペシャル・インタレスト・グループ (SIG) (分科会) (英語) があります。これらのフォーラムでは、プロジェクトの新しい開発分野とアプリケーションに関する、メンテナーとコントリビューターの両方によるプレゼンテーションやディスカッションが行われます。これらは完全にオープンなディスカッションの場であり、トピックへの参加や提案にメンバーシップは必要ありません。次に、仕様とプロジェクトに関連する共同作業を調整するワーキンググループ (作業部会) があります。これらのグループは最近結成されたもので、メンバーとコミュニティーが実行するワークパッケージを定義します。パブリック・ビルド・インフラストラクチャーや CI、プロジェクトのオープンソース・カーネルの拡張、コントリビューション・プロセスの定義など、あらゆる人に貢献する機会が提供されます。