インテル® インテグレーテッド・パフォーマンス・プリミティブ 8.2 ユーザーズガイド
インテル® インテグレーテッド・パフォーマンス・プリミティブ (インテル® IPP) は、次の形式で配布されます。
前世代のインテル® IPP では、一部の関数の内部がスレッド化されていました (ThreadedFunctionsList.txt ファイルにリストがあります)。 これらの関数によりスレッド化を簡単に利用することができましたが、パフォーマンスとほかのスレッド化モデルとの互換性に問題があるため、新しい開発ではこれらの関数の使用を推奨していません。関数のサブセットで内部スレッド化が有効なライブラリー・バージョンは、別のパッケージとして配布されています。
次の表は、リンク可能なライブラリーの説明です。
シングルスレッド (スレッド化されていない) |
マルチスレッド (内部スレッド化) |
|
説明 | アプリケーション・レベルのスレッド化に適しています。 | ほかのスレッド化が有効でない場合にのみ使用します。 |
場所 | メインパッケージ インストール後: <ipp ディレクトリー>/lib/<アーキテクチャー> |
別途ダウンロード インストール後: <ipp ディレクトリー>/lib/<アーキテクチャー>/threaded |
スタティック・リンク | Windows*: ライブラリー名のサフィックスは mt (ipp<domain>mt.lib) Linux* および OS X*: ライブラリー名のサフィックスなし (libipp<domain>.a) |
Windows*: ライブラリー名のサフィックスは mt (ipp<domain>mt.lib) Linux* および OS X*: ライブラリー名のサフィックスなし (libipp<domain>.a) |
ダイナミック・リンク | デフォルト (サフィックスなし) Windows*: ipp<domain>.lib Linux*: libipp<domain>.a OS X*: libipp<domain>.dylib |
デフォルト (サフィックスなし) Windows*: ipp<domain>.lib Linux*: libipp<domain>.a OS X*: libipp<domain>.dylib |
インテル® IPP ライブラリーの内部がスレッド化されている (マルチスレッド) バージョンは廃止されましたが、レガシー・アプリケーションでは利用できます。新しく開発する場合は、ライブラリーのシングルスレッド・バージョンを使用することを推奨します。
シングルスレッド・バージョンとマルチスレッド・バージョンを切り替えるには、システム変数またはプロジェクトでライブラリー・パスを指定します。
シングルスレッド: SET LIB=<ipp directory>/lib/<arch>
マルチスレッド: SET LIB=<ipp directory>/lib/<arch>/threaded
シングルスレッド: gcc <options> -L <ipp directory>/lib/<arch>
マルチスレッド: gcc <options> -L <ipp directory>/lib/<arch>/threaded
Linux* および OS X* では、インテル® IPP ライブラリーは、インテル® C++ コンパイラーの libirc.a libsvml.a、libimf.a ランタイム・ライブラリーを使用します。 そのため、プロジェクトでこれらのライブラリーへのリンクを追加する必要があります。これらのライブラリーは、<ipp directory>/lib または <intel compiler directory>/lib フォルダーにあります。