インテル® oneAPI 2022.3 リリース

インテル® oneAPI

この記事は、インテル® デベロッパー・ゾーンに公開されている「Intel® oneAPI 2022.3 is available」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。


オープンな高速コンピューティングをサポートするインテル® oneAPI ツールの最新バージョン 2022.3 がリリースされました。皆様からのフィードバックをお待ちしています。

oneAPI イニシアチブ (英語) と oneAPI オープン仕様 (英語) は、ソフトウェア開発者を強力にサポートし、パフォーマンスや機能を犠牲にすることなくオープンな選択肢 (英語) を提供する、オープンでマルチアーキテクチャーの世界を実現することを目的としています。

oneAPI ツールは、数十年にわたり世界中で数多くのアプリケーションの構築に使用されてきたインテル® ソフトウェア製品をベースに、インテルが誇りを持って貢献している複数のオープンソース・プロジェクトを組み込んだものです。

インテル® oneAPI ツールは、C、C++、Fortran、MPI、OpenMP*、SYCL* などの標準規格のサポートに加えて、オープンソースのデファクト・スタンダードである Python* の高速化もサポートしています。

GROMACS: SYCL* と oneAPI で実現

SYCL* と oneAPI は、単一ソース、単一ビルドのソリューションで、複数のベンダーのデバイスでパフォーマンスと移植性を実現する、ベンダーに依存しないソリューションを提供することを目的としています。

GROMACS が SYCL* を採用したのは、まさにこの理由からです。GROMACS は分子力学のコードで、実行にはスーパーコンピューティング・サイクルの 4 ~ 5% が費やされると推定されます。

2022年の Intel Innovation (英語) で実施された GROMACS のデモでは、単一のバイナリーが複数のベンダーの GPU を搭載したマシンで実行されました。SYCL* と oneAPI により、バイナリーはすべての GPU と CPU を効率良く使用して実行され、素晴らしいパフォーマンスを発揮しました。これは特殊なケースではなく、SYCL* と oneAPI を使用することで得られるべき結果です。

GROMACS や他のプロジェクトが、独自のアプローチに縛られることなく、ベンダーやアーキテクチャーに依存しないアプローチを採用したことは、SYCL* と oneAPI が注目されている理由を浮き彫りにしています。ともに SYCL* と oneAPI の進化に取り組み、その恩恵を受けましょう。

SYCL* 2020 のサポートを含むインテル® oneAPI ツールの進化

SYCL* と oneAPI の継続的な進化は、オープンな高速コンピューティングを支持するユーザーからのサポートとフィードバックにより推進されており、オープンを支持する開発者たちの熱意に感謝しています。

C++ コンパイラーは、DPC++ と呼ばれる LLVM SYCL* プロジェクトから構築された SYCL* 2020 機能の追加により、GPU や FPGA を含むさまざまなハードウェア・アクセラレーター向けにプログラミングする開発者の生産性を高めます。SYCLomatic プロジェクトにより、CUDA* コードの移行がさらに容易になりました (ビルド済みのインテルがサポートするバージョンは、引き続き「インテル® DPC++ 互換性ツール」と呼ばれます)。この移行ツールは、CUDA* 11.7 のヘッダーファイル、CUDA* ランタイム、CUDA* ドライバー API、cuDNN、NCCL、Thrust、cuBLAS、cuFFT をサポートし、最新の CUDA* コードの移行を支援します。

SYCL* を使用した CUDA* から C++ への移行

共通機能のコーディングを容易にするため、インテル® oneAPI DPC++ ライブラリーは、SYCL* カーネルにおいて C++ 標準ライブラリーのサポートを拡張し、ヒープとソートのアルゴリズムを 9 つ追加しました。インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) は、より効率的な GPU リソース割り当てと、高速な例外検出およびリカバリー機能を追加しています。インテル® oneAPI ビデオ・プロセッシング・ライブラリー (インテル® oneVPL) は、エンコードに関する広範なデータを提供し、品質向上とアルゴリズム革新を可能にします。また、人気の高い FFMPEG オープンソース・プロジェクトにアップストリームされ、インテル® GPU で高品質なストリーミングを実現しました。

LLVM + Fortran = Fortran の明るい未来

インテルは LLVM への移行を進める一方で、従来のインテル® Fortran クラシック・コンパイラーを引き続き提供してきました。LLVM バージョンは、インテル® Fortran クラシック・コンパイラーに明るい未来をもたらします。インテルは、ユーザーが LLVM ベースの Fortran に移行しても、「クラシック」バージョンのサポートを継続する予定です。LLVM ベースの Fortran コンパイラーは、機能面でクラシック・コンパイラーに追いつきました。優れたオフロードサポートにより、LLVM ベースの Fortran コンパイラーは重要な点で先行しています。パフォーマンスにはまだチューニング中ですが、ほとんどの場合、LLVM ベースのコンパイラーのほうが優れたパフォーマンスを提供します。皆様からのフィードバック (英語) をお寄せください。

最新の LLVM テクノロジーに基づくインテル® Fortran コンパイラーは、Co-Array、DLLImport/DLLExport、DO CONCURRENT オフロードを含む Fortran 2003、2008、2018 を完全にサポートしました。インテル® Fortran コンパイラーは、DEC VMS Fortran から受け継いだフロントエンドと開発エンジニア達により、世界で最も優れた Fortran サポートを提供し続けていると信じています。

Fortran は、HPC (ハイパフォーマンス・コンピューティング) において、計算サイクルの半分以上を占め続けており、Fortran 開発者は世界中で増え続けています。Fortran には科学者やエンジニアが必要とする利点があり、コンピューター・サイエンスに関連する欠点は問題になりません。近年、ポインターの危険性が再認識されていますが、Fortran は 1956年の誕生時からポインターの使用を避けてきました (Rust と C++ について考えてみてください)。Jim Cownie 氏の最近のブログ (英語) では、Fortran の重要性を強調し、Fortran が死にかけている (あるいはすでに死んだ) という迷信を取り上げています。同ブログでは、Fortran が C、C++、OpenMP*、SYCL*、MPI、Python* などとともに、高速コンピューティングの重要な部分であり続けると述べていますが、インテルはこれに大いに賛同します。インテルは、これらすべてに多大な投資をしています。

Fortran は今後も重要

インテルの C++ および Fortran 実装は、OpenMP* のクラスターオフロード機能を拡張し、OpenMP* アクセラレーター・オフロードを引き続き強力にサポートすることで、移植性と互換性を向上します。

パフォーマンスはあらゆるところに

ソフトウェア・パフォーマンスを追及する上で、Fortran は不可欠です。C++、Python*、そしてすべての AI ツールと同様に、Fortran に取り組む目的はスピードの追及です。インテルは、オープンな未来にはマルチベンダーとマルチアーキテクチャーをサポートするオープンな基盤が必要であり、それが最高の移植性とパフォーマンスを両立した未来をもたらすと考えています。

必要に応じた AI サポート

AI ワークロードの最適化は、素晴らしいの一言に尽きます。インテルの AI サポートは、プロジェクトやビルド、その他多くの場所で採用されているため、他のルートを通じてすでに利用している可能性がありますが、インテル® oneAPI 2022.3 を使用することで AI サポートを確実に得ることができます。インテルの AI 最適化は、インテル® プロセッサーで動作する AI を支援します。

PyTorch* の最適化に int8 の自動量子化が含まれ、MultiStreamModule 機能によりオフライン推論シナリオのスループットをさらに向上できます。インテル® Neural Compressor は、バイナリーサイズの軽量化と、GUI でサポートされる新しい量子化精度診断機能により、生産性を向上します。また、TensorFlow* 量子化 API、ITEX 用 QDQ 量子化、混合精度強化、DyNAS、ブロック単位の構造スパース性のトレーニング、op タイプ単位のチューニング戦略を提供します。

oneAPI のアップデートを今すぐ入手

oneAPI を初めて使用する場合、またはアップデートを試してみたい場合は、インテル® Developer Zone のインテル® oneAPI ツール (英語) にアクセスしてください。

インテル® DevCloud (英語) では、各種ツールと非常に有用なトレーニング・リソースを利用できます。このクラウド環境は、自前でシステムを構築することなく、無料でさまざまなインテルの CPU やアクセラレーターを使ってコードを開発、テスト、最適化できる素晴らしい場所です。

oneAPI について

oneAPI (英語) は、ヘテロジニアス・コンピューティング向けのオープンな、統一された、クロスアーキテクチャー・プログラミング・モデルです。oneAPI と SYCL* は、プログラミング・ツール (ライブラリー、コンパイラー、デバッガー、アナライザー、フレームワークなど) に対して、オープンでマルチベンダー、マルチアーキテクチャーのアプローチを採用し、オープンな高速コンピューティングをサポートします。標準規格に基づくこのプログラミング・モデルは、ソフトウェア開発を簡素化し、レガシーコードの統合を可能にしながら、独自のプログラミング・モデルに代わって、妥協のない、高速なコンピューティング・パフォーマンスを提供します。


製品および性能に関する情報

1 性能は、使用状況、構成、その他の要因によって異なります。詳細については、http://www.intel.com/PerformanceIndex/ (英語) を参照してください。

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