技術ポータル「iSUS」をリニューアルいたしました!お探しの記事を快適に検索いただくための絞り込み機能 (トピック検索) の使い方はこちら。

インテル® oneAPI コンパイラー 2026.0 を使用してインテル® Xeon® プロセッサーのパフォーマンスを最大限に引き出す

インテル® DPC++/C++ コンパイラー

この記事は、インテルのウェブサイトで公開されている「Unlock Maximum Intel® Xeon® CPU Performance with Intel® oneAPI Compilers 2026.0」 (英語) を iSUS で翻訳した日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。

コンパイラーは、ソースコードとハードウェアによる実行をつなげる重要な役割を担っています。コンパイラーは、ループ変換、分岐最適化、ベクトルユニット、キャッシュ、最新の CPU パイプラインの活用を制御することで、ソフトウェアの実行効率に影響します。ハイパースケール・クラウド、5G 通信、HPC といったパフォーマンスを重視する分野では、コンパイラーの選択が、アプリケーションがシステムを最大限に活用できるか、あるいはパフォーマンスの低下を招くか左右することがあります。インテル® Xeon® プラットフォームでは、インテル® oneAPI DPC++/C++ および Fortran コンパイラー 2026.0 が、プロセッサーのパフォーマンスをさらに引き出すように設計されています。

2026年4月にリリースされたインテル® oneAPI DPC++/C++ および Fortran コンパイラー 2026.0 は、インテル® Xeon® プラットフォームをターゲットとする際に、利用者と開発者により優れた制御とより明確な理解と意思決定を提供するように設計されています。このアップデートは、インテル® Xeon® 6+ プロセッサー (開発コード名: Clearwater Forest) の発表当初からサポートを提供するとともに、既存のインテル® Xeon® 6 プロセッサーのパフォーマンス最適化を継続しています。

インテル® oneAPI コンパイラー 2026.0 の開発者向け新機能:

  • アーキテクチャーを考慮した分岐最適化: 最新のマイクロアーキテクチャーに合わせて調整および更新されたヒューリスティックにより、分岐の多い整数演算ワークロードにおける予測ミスやパイプラインのストールが軽減されます。
  • 細粒度のループ最適化制御: 新しいコンパイラー・スイッチを使用すると、ホットパスのチューニングやパフォーマンス低下の解析を行う際に、ループ変換やアンロールとジャムなど特定のループ交換を明示的に有効または無効にできます。
  • 関数スコープの最適化レポート: 高レベルのサマリーに代わり、関数レベルでのベクトル化と変換に関する詳細な情報を得ることができるようになり、ループがベクトル化されなかった理由と、その対処方法を理解しやすくなりました。

これらの機能強化により、最適化の選択肢がより開発者に任せられるようになります。これらはコンパイラーの動作をより詳細に制御し、パフォーマンスが期待を下回った場合に明確なフィードバックを提供することを可能にするため、大規模なコードベースのチューニングでは重要になります。

このような機能があるにもかかわらず、多くのユーザーは依然として GCC -O2 のような汎用的なコンパイラー設定を使用しており、大幅なパフォーマンス向上を逃しています。

SPEC CPU 2026

SPEC CPU 2026 は、SPEC CPU 2017 から大きく変化しており、従来のワークロードから、フロントエンドのボトルネックを増加させ、コードのフットプリントを拡大し、コンパイラー最適化に対する感度を高める、最新のクラウドネイティブおよび AI 関連アプリケーションに置き換えられています。

先日公開された SPEC CPU 2026 ベンチマークにおいて、インテル® Xeon® 6990E+ プロセッサーは、マイクロアーキテクチャー固有のチューニングや高度な最適化を行っていないベースラインの GCC 15.2 -O2 ビルドと比較して、インテル® oneAPI コンパイラー 2026.0 を使用することで、整数演算スループットが最大 19 %、浮動小数点演算スループットが最大 64 % 向上しました。GCC を利用する開発者は、アーキテクチャー固有のチューニング (例: -O3 -march=native) を有効にすることで、ベースとなるハードウェアをより効果良く活用し、大幅なパフォーマンス向上を実現できます。

図 1: インテル® Xeon® 6990E+ プロセッサーにおける SPEC CPU 2026 (推定) のコンパイラー性能。(1)

 

既存のインテル® Xeon® 6980P プロセッサー (開発コード名: Granite Rapids) において、インテル® oneAPI 2026.0 コンパイラーは、GCC 15.2 -O2 ビルドと比較して、整数スループットが最大 25 %、浮動小数点スループットが最大 91 % 向上します。(1)

図 2: インテル® Xeon® 6980P プロセッサーにおける SPEC CPU 2026 (推定) のコンパイラー性能。(1)

SPEC CPU 2017

SPEC CPU 2017 において、新しいインテル® Xeon® 6990E+ プロセッサー上で、インテル® oneAPI コンパイラー 2026.0 は、ベースラインとなる GCC -O2 ビルドと比較して、整数スループットで最大 70 %、浮動小数点スループットで最大 65 % の向上を実現しています。march=native を指定した GCC ビルドと比較しても、インテル® oneAPI コンパイラー 2026.0 は整数スループットで最大 32 %、浮動小数点性能で最大 45 % の性能向上を示しています。(1)

図 3: インテル® Xeon® 6990E+ プロセッサーにおける SPEC CPU 2017 (推定) のコンパイラー性能。(1)

 

インテル® Xeon® 6980P プロセッサーなど既存のプロセッサー向けに、インテル® oneAPI コンパイラー 2026.0 を使用すると、SPEC CPU 2017 で大幅なパフォーマンス向上が実現できます。ベースラインとなる GCC 8 -O2 ビルドと比較して、整数スループットは最大 73%、浮動小数点スループットは最大 83% 向上します。(1)

図 4: インテル® Xeon® 6980P プロセッサーにおける SPEC CPU 2017 (推定) のコンパイラー性能。(1)

インテル® oneAPI コンパイラー 2026.0: より細かな制御と明確な理解と意思決定

インテル® Xeon® システムから最大限のパフォーマンスを引き出すことに注力する開発者にとって、コンパイラーの選択と構成は、最も影響する最適化の決定事項です。詳細は、インテル® oneAPI コンパイラー (英語) をご覧ください。

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

ハードウェアとソフトウェアの構成

インテル® Xeon® 6990E+ プロセッサー: 1 ノード、インテル® Avenue City、2x インテル® Xeon® 6990E+ 288 コア・プロセッサー、288 コア、450W TDP、インテル® ターボ・ブースト・テクノロジー有効、合計メモリー 1536GB (24x64GB DDR5 6400 MT/秒 [6400 MT/秒])、BIOS BHSDCRB1.IPC.3545.P44.2604091529、マイクロコード 0x10000b0、Ubuntu 24.04.1 LTS、6.8.0-106-generic。2026年5月時点のインテルによる社内テスト。

SPEC CPU 2026: SPECint_rate_base_2026 コンパイラー・スイッチ: インテル® oneAPI DPC++/C++ コンパイラー 2026.0: -xclearwaterforest -O3 -ffp-model=fast -flto -mfpmath=sse -funroll-loops -qopt-mem-layout-trans=4 -fno-strict-aliasing; GCC 15.2.0 (ネイティブ): -g -O3 -march=native -ffast-math -flto; GCC 15.2.0 (O2): -g -O2。tcmalloc ライブラリーをインテル® oneAPI DPC++/C++ コンパイラー 2026.0 に使用。jemalloc ライブラリーを GCC 15.2.0 ネイティブに使用。SPECfp_rate_base_2026 コンパイラー・スイッチ: インテル® oneAPI DPC++/C++ コンパイラー 2026.0: -xclearwaterforest -O3 -ffp-model=fast -flto -mfpmath=sse -funroll-loops -qopt-mem-layout-trans=4 -nostandard-realloc-lhs -align array32byte -auto; GCC 15.2.0 (ネイティブ): -g -O3 -march=native -ffast-math -flto; GCC 15.2.0 (O2): -g -O2。tcmalloc ライブラリーをインテル® oneAPI DPC++/C++ コンパイラー 2026.0 に使用。jemalloc ライブラリーを GCC 15.2.0 ネイティブに使用。

SPEC CPU 2017: SPECint_rate_base_2017 コンパイラー・スイッチ: インテル® oneAPI DPC++/C++ コンパイラー 2026.0: -xclearwaterforest -O3 -ffast-math -flto -mfpmath=sse -funroll-loops -qopt-mem-layout-trans=4。GCC 15.2.0 (ネイティブ): -march=native -mfpmath=sse -Ofast -funroll-loops -flto。GCC 15.2.0 (O2): -O2。qkmalloc ライブラリーをインテル® oneAPI DPC++/C++ コンパイラー 2026.0 に使用。jemalloc ライブラリーを GCC 15.2.0 ネイティブに使用。SPECfp_rate_base_2017 コンパイラー・スイッチ: インテル® oneAPI DPC++/C++ コンパイラー 2026.0: -xclearwaterforest -O3 -ffast-math -flto -mfpmath=sse -funroll-loops -qopt-mem-layout-trans=4。GCC 15.2.0 (ネイティブ): -march=native -mfpmath=sse -Ofast -funroll-loops -flto。GCC 15.2.0 (O2): -O2。jemalloc ライブラリーを GCC 15.2.0 ネイティブに使用。

インテル® Xeon® 6980P プロセッサー: 1 ノード、インテル® Avenue City、2x インテル® Xeon® 6980P 128 コア・プロセッサー、128 コア、500W TDP、インテル® ハイパースレッディング・テクノロジー有効、インテル® ターボ・ブースト・テクノロジー有効、合計メモリー 1536GB (24x64GB DDR5 6400 MT/秒 [6400 MT/秒])、BIOS BHSDCRB1.IPC.3545.P44.2604032157、マイクロコード 0x1000432、Ubuntu 24.04.2 LTS、6.8.0-107-generic。2026年5月時点のインテルによる社内テスト。

SPEC CPU 2026: SPECint(R)_rate_base_2026 コンパイラー・スイッチ: インテル® oneAPI DPC++/C++ コンパイラー 2026.0: -xgraniterapids -mprefer-vector-width=512 -O3 -ffp-model=fast -flto -mfpmath=sse -funroll-loops -qopt-mem-layout-trans=4 -fno-strict-aliasing for C; GCC 15.2.0 (ネイティブ): -g -O3 -march=native -ffast-math -flto; GCC 15.2.0 (O2): -g -O2。tcmalloc ライブラリーをインテル® oneAPI DPC++/C++ コンパイラー 2026.0 に使用。jemalloc ライブラリーを GCC 15.2.0 ネイティブに使用。SPECfp(R)_rate_base_2026 コンパイラー・スイッチ: インテル® oneAPI DPC++/C++ コンパイラー 2026.0: -xgraniterapids -mprefer-vector-width=512 -O3 -ffp-model=fast -flto -mfpmath=sse -funroll-loops -qopt-mem-layout-trans=4 -nostandard-realloc-lhs -align array32byte -auto; GCC 15.2.0 (ネイティブ): -g -O3 -march=native -ffast-math -flto; GCC 15.2.0 (O2): -g -O2。tcmalloc ライブラリーをインテル® oneAPI DPC++/C++ コンパイラー 2026.0 に使用。jemalloc ライブラリーを GCC 15.2.0 ネイティブに使用。

SPEC CPU 2017: SPECint(R)_rate_base_2017 コンパイラー・スイッチ: インテル® oneAPI DPC++/C++ コンパイラー 2026.0: -xgraniterapids -O3 -ffast-math -flto -mfpmath=sse -funroll-loops -qopt-mem-layout-trans=4。インテル® C/C++ コンパイラー・クラシック 18.0u2: -xCORE-AVX512 -ipo -O3 -no-prec-div -qopt-prefetch -ffinite-math-only -qopt-mem-layout-trans=3。GCC 8.1.0 (O2): -O2 -fno-strict-aliasing。GCC 15.2.0 (ネイティブ): -march=native -mfpmath=sse -Ofast -funroll-loops -flto。GCC 15.2.0 (O2): -O2。qkmalloc ライブラリーをインテル® oneAPI DPC++/C++ コンパイラー 2026.0 に使用。jemalloc ライブラリーをインテル® C/C++ コンパイラー・クラシック 18.0u2、GCC 15.2.0 ネイティブに使用。SPECfp(R)_rate_base_2017 コンパイラー・スイッチ: インテル® oneAPI DPC++/C++ コンパイラー 2026.0: -xgraniterapids -mprefer-vector-width=512 -O3 -ffast-math -flto -mfpmath=sse -funroll-loops -qopt-mem-layout-trans=4。インテル® C/C++ コンパイラー・クラシック 18.0u2: -xCORE-AVX512 -ipo -O3 -no-prec-div -qopt-prefetch -ffinite-math-only -qopt-mem-layout-trans=3 -auto。GCC 8.1.0 (O2): -O2。GCC 15.2.0 (ネイティブ): -march=native -mfpmath=sse -Ofast -funroll-loops -flto。GCC 15.2.0 (O2): -O2 -fno-strict-aliasing。jemalloc ライブラリーをインテル® C/C++ コンパイラー・クラシック 18.0u2、GCC 15.2.0 ネイティブに使用。

脚注:

(1) SPEC CPU ガイドライン (英語) に基づく推定性能指標。2026年5月時点のインテルによる社内テスト。結果は異なることがあります。

 

法務上の注意書き

性能は、使用状況、構成、その他の要因によって異なります。詳細については、パフォーマンス・インデックス・サイトを参照してください。
性能の測定結果はシステム構成の日付時点のテストに基づいています。また、現在公開中のすべてのセキュリティー・アップデートが適用されているとは限りません。構成の詳細は、補足資料を参照してください。絶対的なセキュリティーを提供できる製品またはコンポーネントはありません。
実際の費用と結果は異なる場合があります。
インテルのテクノロジーを使用するには、対応したハードウェア、ソフトウェア、またはサービスの有効化が必要となる場合があります。
© Intel Corporation. Intel、インテル、Intel ロゴ、その他のインテルの名称やロゴは、Intel Corporation またはその子会社の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

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