以下は、インテル® oneAPI DPC++ ライブラリー (インテル® oneDPL) マクロのリストです。
これらのマクロを使用してインテル® oneDPL の現在のバージョンを取得します。
マクロ | 説明 |
---|---|
ONEDPL_VERSION_MAJOR |
ライブラリーのメジャーバージョンを示す 10 進数。 |
ONEDPL_VERSION_MINOR |
マイナーバージョンを示す 10 進数。 |
ONEDPL_VERSION_PATCH |
パッチを示す 10 進数。 |
_PSTL_VERSION |
インテル® oneDPL で使用されている LLVM PSTL コードのバージョン。 値は、xxyyz 形式の 10 進数です。ここで、xx はメジャーバージョン番号、yy はマイナーバージョン番号、z はパッチ番号です。 |
_PSTL_VERSION_MAJOR |
_PSTL_VERSION/1000: メジャーバージョン番号。 |
_PSTL_VERSION_MINOR |
(_PSTL_VERSION % 1000) / 10: マイナーバージョン番号。 |
_PSTL_VERSION_PATCH |
_PSTL_VERSION % 10: パッチ番号。 |
これらのマクロを使用してインテル® oneDPL の使用を制御します。これらのマクロは、インテル® oneDPL ヘッダーをインクルードする前にプログラムコードの中で設定できます。
マクロ | 説明 |
---|---|
PSTL_USE_NONTEMPORAL_STORES |
このマクロは、std::copy や std::fill などのアルゴリズムが順序関係がないポリシーで実行される場合に、書き込み専用データに対して #pragma vector nontemporal を使用できるようにします。プラグマの詳細は、『インテル® oneAPI DPC++/C++ コンパイラー・デベロッパー・ガイドおよびリファレンス』 (英語) を参照してください。マクロが非ゼロ値に評価されると、#pragma vector nontemporal の使用が有効になります。デフォルトでは、このマクロは定義されません。 このマクロを使用すると、gcc や LLVM の C++ 標準ライブラリーの並列アルゴリズム実装でも同じ効果が得られる場合があります。 |
PSTL_USAGE_WARNINGS |
このマクロを使用すると、Parallel STL は特定の実行ポリシーをサポートしていないアルゴリズムに関する警告などのコンパイル時メッセージを出力します。1 に設定すると、実装は使用方法の警告を出力します。マクロが定義されていない場合 (デフォルト)、または 0 に設定されている場合、使用方法の警告は無効になります。 このマクロを使用すると、gcc や LLVM の C++ 標準ライブラリーの並列アルゴリズム実装でも同じ効果が得られる場合があります。 |
ONEDPL_USE_TBB_BACKEND |
このマクロは、並列ポリシーでのインテル® oneAPI スレッディング・ビルディング・ブロック (インテル® oneTBB) またはインテル® スレッディング・ビルディング・ブロックの使用を制御します。0 に設定すると、par または par_unseq ポリシーのアルゴリズムは呼び出しスレッドによってのみ実行されます。これは、インテル® oneTBB またはインテル® TBB ライブラリーに依存すべきではないコードで推奨されます。マクロが定義されていない場合 (デフォルト)、またはマクロが非ゼロ値に評価された場合、並列ポリシーはインテル® oneTBB またはインテル® TBB ライブラリーを使用して実行されます。 |
ONEDPL_USE_DPCPP_BACKEND |
このマクロは、DPC++ ポリシーの使用を有効にしますマクロが定義されていない場合 (デフォルト)、またはマクロが非ゼロ値に評価された場合、DPC++ ポリシーが有効になります。0 に設定した場合、インテル® oneAPI DPC++/C++ コンパイラーとランタイム・ライブラリーに依存しません。DPC++ ポリシーを使用しようとするとコンパイルエラーになります。 |
ONEDPL_ALLOW_DEFERRED_WAITING |
このマクロは、DPC++ ポリシーで実行される特定のアルゴリズムの完了待ちを延期できるようにします (デフォルトでは無効)。 |
ONEDPL_FPGA_DEVICE |
このマクロを使用して、FPGA デバイス向けにインテル® oneDPL アルゴリズムを含むコードをビルドします (デフォルトでは無効)。 |
ONEDPL_FPGA_EMULATOR |
このマクロを使用して、FPGA エミュレーション・デバイス向けに Parallel STL アルゴリズムを含むコードをビルドします (デフォルトでは無効)。 注FPGA エミュレーション・デバイスで実行するには、ONEDPL_FPGA_DEVICE マクロと ONEDPL_FPGA_EMULATOR マクロを同じアプリケーションで定義します。FPGA ハードウェア・デバイスで実行するには、ONEDPL_FPGA_DEVICE マクロのみを定義します。 |