このセクションでは、GCC (GNU* コンパイラー・コレクション) の C/C++ コンパイラーからインテル® oneAPI DPC++/C++ コンパイラーにアプリケーションを移植する際の基本的なアプローチを説明します。これらのコンパイラーは、それぞれ次のように対応しています。
言語 |
インテル® コンパイラー |
GCC コンパイラー |
---|---|---|
C |
icx (C++) または dpcpp (DPC++) |
gcc |
C++ |
icpx (C++) または dpcpp (DPC++) |
g++ |
多くの場合、gcc からインテル® oneAPI DPC++/C++ コンパイラーへのアプリケーションの移植は、gcc を起動する代わりにインテル® oneAPI DPC++/C++ コンパイラー (icx (C++) または dpcpp (DPC++)) を起動するだけです。インテル® oneAPI DPC++/C++ コンパイラーを使用すると、特にインテル® プロセッサー上でアプリケーションのパフォーマンスが向上します。多くの場合、インテル® プロセッサー以外でも、アプリケーションのパフォーマンスが向上します。アプリケーションをインテル® oneAPI DPC++/C++ コンパイラーでコンパイルする場合、次の機能を使用できます。
最新のインテル® プロセッサー向けにコードを最適化するコンパイラー・オプション
GNU* プロファイラー gprof と同様の高度なプロファイリング・ツール (PGO)
高レベルの最適化 (HLO)
プロシージャー間の最適化 (IPO)
コンパイラーが命令のインライン展開に使用するインテル® SSE およびインテル® AVX のさまざまなバージョンを含む組込み関数
精度を向上する、高度に最適化されたインテルの数学ライブラリー
インテル® oneAPI DPC++/C++ コンパイラーは、gcc との互換性と相互運用性があり、gcc アプリケーションのインテル® oneAPI DPC++/C++ コンパイラーへの移植にはバイナリー互換の利点もあります。そのため、gcc アプリケーションのライブラリーをリビルドしないでください。インテル® oneAPI DPC++/C++ コンパイラーでは、gcc 製品で提供しているようなコンパイラー・オプション、マクロ、環境変数を多くサポートしています。
製品および性能に関する情報 |
---|
性能は、使用状況、構成、その他の要因によって異なります。詳細については、http://www.intel.com/PerformanceIndex/ (英語) を参照してください。 注意事項の改訂 #20201201 |