日本語 English 中文
世界中のHPC専門最先端技術製品の販売・サポート
intel® oneapi hpc toolkit

Intel® oneAPI HPC Toolkit (総合開発ツール)

Intel® oneAPI とは

Intel® oneAPI HPC Toolkit (総合開発ツール)

ハードウェアの性能を最大限に発揮させるための総合開発ツール

C/C++/Fortran コンパイラー、各種ライブラリー、性能解析ツールを提供

Intel® oneAPI は米国 Intel が提供する総合開発ツールです。Intel® oneAPI は CPU や GPU 、FPGA などのハードウェア性能を最大限に発揮させるためのコンパイラーやライブラリー、性能解析ツールを含む 20 以上のツールを利用することができます。

ハードウェアの性能を発揮させるためには対応する開発ツールを使用する必要があります。Intel® oneAPI に含まれる最新のコンパイラーは、CPU やメモリー、GPU 等を有効に活用できるようにループ変換や展開などの最適化を行い専用の CPU 命令セットを生成して FLOPS やスループットを向上させ、さらに GPU や FPGA へ処理を渡すオフロード機能も有しています。

他にも Intel® oneAPI には、コンパイラーの自動最適化だけでは解決できないパフォーマンス問題を容易に発見し修正のアドバイスを得ることができる性能解析ツールや、組み込むだけで最大限の性能を得ることができる各種ライブラリーなどが含まれています。

Intel® oneAPI を用いると、高価なハードウェアの性能を最大限に発揮することができるようになり、また開発者が高速化に有する時間を最大限に削減することができるようになります。

Intel® oneAPI を使う理由

Intel® 製や AMD 製を含む近年の全ての CPU には内部的に複数の処理を 1 命令でまとめて行い、数倍の処理速度を実現する機能など様々な高速処理のための機能が搭載されています。それらの機能を使用するためには最適化に対応しているコンパイラーやライブラリーを使用するか、アセンブリー言語でプログラムを記述する必要があります。Intel® oneAPI は最新のハードウェアの性能を最大限に発揮させるための自動最適化機能や修正のアドバイス機能、オフロード機能を提供し、開発者は最新のテクノロジーを Intel® oneAPI を通じて利用することができるようになっています。

Intel® oneAPI の主要ツール

DPC++/C/C++ コンパイラー dpcpp/icx/icpx と Fortran コンパイラー ifx

Intel® oneAPI DPC++/C++ Compiler

Intel® Fortran Compiler

新しい LLVM※1 方式の、 DPC++/C/C++ コンパイラー dpcpp/icx/icpx と Fortran コンパイラー ifx です。コンパイルでは中間ファイルが生成され、実行時に、実行するシステムの環境に合わせて最適化された処理に変換され実行されます。DPC++コンパイラーから SYCL※2 を用いると Intel® CPU や GPU、FPGA に加え、NVIDIA と AMD GPU にもオフロードすることができます。Fortran コンパイラーは Intel® GPU へオフロードすることができます。

Intel®コンパイラーがLinuxでの C++アプリケーションのパフォーマンスを向上
Intel® Xeon® Platinum 8480+ プロセッサ上で
他のコンパイラと比較した場合のパフォーマンスの優位性

※性能結果は2022年12月2日現在のインテルによるテストに基づくものであり、一般に公開されているすべてのセキュリティアップデートが反映されているわけではありません。

※性能結果は、構成に示された日付時点でのテストに基づくものであり、一般に入手可能な最新情報を反映していない場合があります。詳細については、構成の開示をご覧ください。絶対的に安全な製品やコンポーネントはありません。

構成の詳細とワークロードの設定:
lntel® Xeon® Platinum 8480+, E3 stepping, CPU@2.00GHz, 2 socket, Hyper Thread on, Turbo on, 32G xl6 DDR5 4800 (lDPC). Ubuntu 22.04 L TS, 5.14.0-1054-oem. Software: lntel oneAPI DPC++/ C++ Compiler for applications running on Intel64, Version 2023.0.0 Build 20221201. lntel C++ Compiler Classic for applications running on Intel 64, Version 2021.8.0 Build 2022lll9_000000, GCC version 12.1.0,
Clang/LL VM version 15.0.0. SPECint_rate_bese_2017 compiler switches: Intel oneAPI DPC++/C++ Compiler: -xsapphirerapids -mprefer-vector-width=512 -03 -Hast-math -flto -mfpmath=sse -funroll-loops -qopt-mem-leyouttrens=4-lqkmalloc. Intel C++ Compiler Classic: -xCORE-AVX512 -ipo -03-no-prec-div -qopt-mem-leyout-trens=4 -qopt-multiple-gether-scetter-by-shuffles -lqkmalloc. GCC: -march=sepphirerepids -mfpmeth=sse -Ofast -funrollloops
-flto -ljemalloc. Clang/LL VM: -march=sapphirerapids -mfpmath=sse -Of est -funroll-loops -flto -ljemalloc. qkmalloc used for Intel compiler.jemalloc 5.0.l used for gee and llvm. SPECfp_ rate….bese-2017 compiler switches: Intel oneAPI DPC++/C++ Compiler: -xsepphirerepids -mprefer-vector-width=512-0fest -Hast-math -flto-mfpmeth=sse -funroU-loops -qopt-mem-leyout-trens=4-ljemelloc. Intel C++ Compiler Classic: -xCORE-A VX512-ipo -03-noprec-div-qopt-prefetch-ffinite-meth-only-qopt-multiple-gather-scatter-by-shvttles -qopt-mem-leyout-trans=4-ljemelloc. GCC: -march=sapphirerepids -mfpnneth=sse -Ofast -funroll-loops -flto -ljemalloc. Clang/LL VM: -march=sepphirerepids -mfpmeth=sse -Ofast -fun roll-loops -flto -ljemalloc. jemelloc 5.0.1 used for Intel compilers, GCC and LL VM.

※性能は用途、構成、その他の要因によって異なります。最終的なコスト結果は異なる場合があります。

※1 LLVM はイリノイ大学が開発したオープンソースのコンパイラー基盤です。

※1LLVM はイリノイ大学が開発したオープンソースのコンパイラー基盤です。

従来のコンパイラーはコンパイル時とリンク時に最適化を行い実行ファイルを生成する方式でしたが、新しい環境で実行するためには新しい命令セットに対応したコンパイラーでコンパイルしリンクする必要がありました。
一方 LLVM ではコンパイル時に仮想システムに対した最低化を行い中間ファイルを生成し、実行時に仮想システム向けの中間ファイルを実行環境に最適な命令に変換します。これにより、環境が変わってもランタイムの変更で対応させることができるようになり、この恩恵で様々なアーキテクチャのハードウェアに対応させることが容易になりました。

※2 SYCL (シクル) は単一のソースコードから CPU、GPU、FPGA に対応させることができる規格です。

※2 SYCL (シクル) は単一のソースコードから CPU、GPU、FPGA に対応させることができる規格です。

SYCL は Intel® や NVIDIA 等が設立したアメリカの非営利団体である Khronos Group (クロノス) によるオープン標準規格です。Intel® oneAPI の DPC++ では、Intel® 製品に加え、NVIDIA と AMD GPU にもオフロードさせることができるプラグインに対応しています。

C/C++ コンパイラー icc/icpc と Fortran コンパイラー ifort

Intel® C++ Compiler Classic

Intel® Fortran Compiler Classic

従来の C/C++ コンパイラー icc/icpc と Fortran コンパイラー ifort です。最適化された実行ファイルを生成します。

MPI ライブラリ

Intel® MPI Library

高速で低レイテンシーな MPI です。主要なハードウェア向けに最適化され MPI-3 規格をサポートし、34万プロセスでのスケーリングの実績があります。

数値演算ライブラリー

Intel® oneAPI Math Kernel Library (oneMKL)

C/C++/Fortran/ DPC++ 等から利用できる高度に最適化された数値演算ライブラリーです。BLAS、LAPACK、Sparse などの線形代数や、高速フーリエ変換、統計関数などの機能を含みます。

数値演算ライブラリー

Intel® Distribution for Python

Intel® プロセッサーに最適化された Python 実行環境です。

CPU・GPU 向け性能解析

Intel® VTune™ Profiler

Intel® の CPU や GPU 向けの性能解析ツールです。C、C++、Fortran、Python、Go、Java 等の混在環境に対応し、キャッシュミスや非効率な処理が生じている個所を特定して、ソースコードに紐づけてパフォーマンス問題がある個所を表示させることができます。Intel® Xeon® Max シリーズに対応しています。

下図の解析結果では Intel® GPU へのオフロードを行った際の DRAM からの帯域幅情報を得ることができます。パフォーマンス問題は修正により性能が向上する余地のあるところが上位に赤く表示されるようになっており、必要な作業のみに時間を費やすことができるようになります。

Intel® VTune™ Profilerの解析結果でIntel® GPU へのオフロードを行った際の DRAM からの帯域幅情報を得ることができます。
Intel® VTune™ Profilerの解析結果でIntel® GPU へのオフロードを行った際の DRAM からの帯域幅情報を得ることができます。
アドバイザーツール

Intel® Advisor

ソースコードの解析や実行時の解析からベクトル化やマルチスレッド化、GPU オフロードに関するアドバイスを提供します。作業を行う前に変更後の性能予測を得ることができるため、必要な個所の作業のみに従事することができます。

図1の解析結果では Advisor のアドバイスに従って修正した場合 23.3 秒から 7 秒へ短縮される可能性を表しています。

Intel® Advisorの解析結果でAdvisor のアドバイスに従って修正した場合 23.3 秒から 7 秒へ短縮される可能性を表しています。
図1

図2の解析結果では、二つのループの性能が ●(赤丸)で表されており、実線/ ̄で表示される性能限界線からどれくらい離れているかを確認することができます。最適化を行うと性能限界線に近づきます。例えば左側の ● は限界の性能に近いですが、右側の ● で表されるループは性能限界からかけ離れているで最適化の余地があるとわかります。修正を続けるかそこまでで十分と判断するかをデータから決めることができます。

Intel® Advisorの解析結果で修正を続けるかそこまでで十分と判断するかをデータから決めることができます。
図2
クラスターシステム向けの簡易的な性能解析ツール

Intel® Trace Analyzer and Collector

クラスターシステム向けの簡易的な性能解析ツールです。下図は解析結果の比較表示を行っています。この表示では水色が計算処理、赤色が MPI 通信を表しています。
計算内容は同じですが、最適化前の上の状態では MPI 通信の待ちが発生するような書き方になってしまっているためにプロセス数が増えれば増えるほど性能が劣化してしまう原因となっている個所が発見できました。それを修正したものが下の状態です。ほとんどの時間を計算に費やすことができ、処理時間の短縮ができたことがわかります。

Intel® Trace Analyzer and Collectorはクラスターシステム向けの簡易的な性能解析ツールです。

Intel® oneAPI HPC Toolkit に含まれるツール一覧

コンパイラーPython

Intel® oneAPI DPC++/C++ Compiler新しい LLVM 方式の DPC++/C/C++ コンパイラー dpcpp/icx/icpx です。コンパイルでは中間ファイルのみが生成され、実行ホストの環境に合わせて最適化された命令が実行されます。SYCL を用いると Intel® CPU や GPU、FPGA に加え、NVIDIA と AMD GPU にもオフロードすることができます。
Intel® Fortran Compiler新しい LLVM 方式の Fortran コンパイラー ifx です。コンパイルでは中間ファイルのみが生成され、実行ホストの環境に合わせて最適化された命令が実行されます。Intel® GPU へオフロードすることができます。
Intel® C++ Compiler Classic従来の C/C++ コンパイラー icc/icpc です。最適化された実行ファイルを生成します。
Intel® Fortran Compiler Classic従来の Fortran コンパイラー ifort です。最適化された実行ファイルを生成します。
Intel® Distribution for PythonIntel® プロセッサーに最適化された Python 実行環境です。

MPI

Intel® MPI Library高速で低レイテンシーな MPI です。主要なハードウェア向けに最適化され MPI-3 規格をサポートし、34万プロセスでのスケーリングの実績があります。

性能解析・分析

Intel® Trace Analyzer and CollectorIntel® プロセッサーベースのクラスターシステムに対応したパフォーマンス解析ツールです。CPU 稼働率と通信の状況を解析し、パフォーマンス問題が起きている個所について修正アドバイスを提供します。
Intel® VTune™ ProfilerIntel® の CPU や GPU 向けの性能解析ツールです。C、C++、Fortran、Python、Go、Java 言語の混在環境に対応し、キャッシュミスや非効率な処理が生じている個所を特定し、ソースコードに紐づけてパフォーマンス問題がある個所を表示させることができます。Intel® Xeon® Max シリーズに対応しています。
Intel® Advisorソースコードの解析や実行時の解析からベクトル化やマルチスレッド化、GPU オフロードに関するアドバイスを提供します。作業を行う前に変更後の性能予測を得ることができるため、必要な個所の作業のみに従事することができます。
Intel® Inspectorメモリーエラーやマルチスレッドエラーを検出することができます。
Intel® Cluster Checkerクラスターシステムの診断情報を取得します。

ライブラリー

Intel® oneAPI Math Kernel Library (oneMKL)C/C++/Fortran/ DPC++ 等から利用できる高度に最適化された数値演算ライブラリーです。BLAS、LAPACK、Sparse などの線形代数や、高速フーリエ変換、統計関数などの機能を含みます。
Intel® oneAPI Threading Building Blocks (oneTBB)マルチスレッド化を簡素化する C++ 言語に対応したライブラリーです。
Intel® oneAPI Data Analytics Library (oneDAL)ビッグ データ分析の高速化を支援するライブラリーです。C++ コンパイラーに対応しています。
Intel® oneAPI DPC++ Library (oneDPL)Intel® oneAPI DPC++ Compiler 向けに C++ STL、Parallel STL (PSTL)、Boost.Compute、SYCL を提供します。ヒープおよびソート・アルゴリズムの追加により、SYCL カーネルでの C++ 標準ライブラリーのサポートを拡張し、スレッドレベルの並列処理に OpenMP を使用する機能を追加します。
Intel® oneAPI Collective Communications Library (oneCCL)ディープラーニング フレームワークを実装したり、既存のフレームワークをカスタマイズするためのライブラリーです。最適化された通信パターンを使用してモデルのトレーニングを複数のノードに分散することができます。
Intel® oneAPI Deep Neural Networks Library (oneDNN)高度に最適化されたディープ ラーニング ビルディング ブロックを実装することができます。Intel® の CPU、GPU、またはその両方に同じ API を使用できます。
Intel® Integrated Performance Primitives組み込み向けのライブラリーです。

その他のツール

Intel® oneAPI Video Processing (oneVPL)ビデオ アプリケーションを開発するためのライブラリーです。
Intel® Distribution for GDBIntel® Compiler に対応した GDB です。
Intel® FPGA Add-on for oneAPI Base ToolkitoneAPI から FPGA を使用できるようにするためのツールキットです。
Intel® DPC++ Compatibility ToolCUDA コードからの移行を支援します。

プライオリティ サポート サービスについて

本製品をご購入いただくと、1 年間の技術サポートと保守をご利用いただくことができます。

技術サポートは日本語または英語による技術的な質問や問題のお問い合わせを含み、保守は最新バージョンへのバージョンアップと、旧バージョンの継続的な利用を含みます。

プライオリティ サポート サービスは 1 年間の期間が過ぎる前 (A) に更新することで安価に期間を 1 年単位で延長することが可能です。1 年を過ぎた場合 (B) は終了後 2 年までは更新することが可能ですが、(B) は (A) よりも更新価格が割高になります。

初回購入時や更新時に最大 5 年間のサポートをまとめて購入いただくことが可能です。3 年以上の場合には割引が適用されます。

Intel® oneAPI の動作環境・仕様

動作環境は下記リンクのリリースノートからご確認いただけます。入札案件向けの機能証明など、リリースノートに記載されていない条件がありましたらお見積りのお申込みと共に機能や条件をご連絡ください。

Intel® oneAPI HPC Toolkit 2023 Release Notes:

https://www.intel.com/content/www/us/en/developer/articles/release-notes/intel-oneapi-hpc-toolkit-release-notes.html

Intel® oneAPI HPC Toolkitのお見積もり・お問い合わせ

Intel® oneAPI HPC Toolkit の個人向けから大型クラスターシステム向けまでのライセンスをお取り扱いしております。Intel® oneAPI HPC Toolkit の個人向けから大型クラスターシステム向けまでのライセンスをお取り扱いしております。

お見積りをご要望の場合は下記情報をご連絡ください。

・oneAPI を使用される組織名
・oneAPI を使用される開発者の人数
・クラスターシステムで使用される場合にはノード数とプロセッサーの種類 (例: Intel® Xeon MAX 9468、AMD EPYC 9004 )

入札案件の場合は上記情報に加え下記情報をご連絡ください。

・案件名
・必要な保守期間 (例: 60か月)
・入札日、開札日
・運用開始時期