マクロ

以下は、インテル® 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::copystd::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 マクロのみを定義します。