我々がどこまで辿り着いたか振り返る

インテル® oneAPI

この記事は、The Parallel Universe Magazine 55 号に掲載されている「Taking Stock of How Far oneAPI Has Come」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。


parallel_v55_03

30 年以上前にインテルがコンパイラー、ライブラリー、パフォーマンス解析ツールをリリースしたとき、市場はあまり興味を示しませんでした。しかし、30 年以上にわたり積み上げてきた実績により、最近リリースされたインテル® ソフトウェア開発ツール 2024 は、ソフトウェア開発者にとって重要な価値をもたらすツールとして受け入れられています。2018年に、インテルが「オープン・アクセラレーテッド・コンピューティング」を実現する oneAPI というアイデアを発表したときにも、市場は再び興味を示しませんでした。アイデア自体は良いものとして受け入れられましたが、独自路線で直面する課題は、インテルであっても克服するには大きすぎると指摘されました。その後、その指摘を覆し、このアイデアは根付いてきています。この記事では、おそらく我々すべてに影響し、アクセラレーターの開発と利用に関わるすべての人にとって非常に重要な、現時点の変化について説明します。

2 つの重要な発表

この 2 つの発表は、標準ベースのアプローチの推進とそれらをサポートするツールの提供における進歩を証明しています。

  1. Unified Acceleration Foundation によりオープンな高速計算とクロスプラットフォーム・パフォーマンスを推進(英語)
  2. インテル® ソフトウェア開発ツール 2024 がリリース(英語)

Unified Acceleration Foundation

オープン・スタンダードとオープンソースは、開かれたガバナンスが確保されてこそ真価を発揮します。Linux Foundation が Unified Acceleration(UXL)Foundation を創設したことで、オープンガバナンスが確保され、oneAPI の未来は明確になりました。オープン・スタンダードを重視し、ベンダーやアーキテクチャーに依存することなく、すべてのデバイスのサポートを受け入れるというアプローチは、インテルを含む大手ベンダーがアクセラレーテッド・コンピューティングのソフトウェア・スタックに採用していた従来のアプローチとは異なるものです。

2019年の最初のリリースから現在に至るまで、oneAPI は複数のアーキテクチャーとベンダーから支持されており、有望なアイデアであることは明らかです。一部のベンダーは依然として抵抗していますが、より革新的なハードウェアが市場に登場するにつれて、それらのベンダーの意見は重要ではなくなるでしょう。つまり、oneAPI 仕様と oneAPI プロジェクトに対して、Linux Foundation スタイルの本格的なガバナンスを採用する時期が来たのです。インテルはすべての oneAPI オープンソース・プロジェクトを UXL Foundation に寄与しているため、UXL Foundation の方向性に対するインテルの意見は、多くの意見の 1 つにすぎません。オープンガバナンスはすべての人々にとって最善なものです。

インテル® ソフトウェア開発ツール 2024

インテルのソフトウェア開発ツールは世界中で認められ、信頼されています。インテル® コンパイラーとライブラリーには 30 年以上にわたる歴史があります。インテルのツールは、C、C++、Fortran、Python*、OpenMP*、MPI、SYCL* などオープン・スタンダードのサポートをリードしています。AI、FPGA、GPU の出現によって、インテル® ハードウェアと同様に「どこにも負けない」サポートを提供する、新しいライブラリーとツールが追加されました。2019年の oneAPI のリリース以来、ツールは可能な限り最良の方法として、プラグインを利用してインテル以外のハードウェアをサポートできるようになっています。例えば、コードが SYCL* で記述されていれば、インテル® C/C++ コンパイラーは他社製アクセラレーター向けのコードを生成する必要があります。これは、Khronos Group Inc. の SYCL* 標準が、「単一ソース」のコーディングで、すべてのベンダーとすべてのアーキテクチャーをサポートすることを目的としているためです。そのため、インテル® コンパイラーでは、他社製アクセラレーターのサポートを追加するプラグインを許可しています。例えば、Codeplay の最新のプラグインは、NVIDIA と AMD のサポートを追加します。LLVM エコシステムにおける NVIDIA* GPU と AMD* GPU のオープンソース・サポートは、競争力を高めることに役立っています。2022年と2023年に実施されたテスト(英語)では、NVIDIA と AMD のハードウェアでの CUDA* 対 SYCL* および HIP 対 SYCL* のパフォーマンスはほぼ同等であることが示されました。

oneAPI マス・カーネル・ライブラリー(oneMKL) (英語)は、プラグインモデルも効果的に実行します。共通の API を使用して最高のパフォーマンスが得られるように、コードは、インテルのハードウェアではインテル® oneMKL に、NVIDIA* GPU では cuBLAS に、AMD* GPU では rocBLAS に、それぞれディスパッチされます。各アーキテクチャー/ベンダーのサポートを確実に行うことを目指すもう 1 つの例は、最良の結果を得ることです。

タイトルとURLをコピーしました