インテル® IPP 2017 デベロッパー・ガイド
インテル® インテグレーテッド・パフォーマンス・プリミティブ (インテル® IPP) を使用すると、マルチメディア、エンタープライズ・データ、組込み、通信、科学/技術アプリケーションのパフォーマンスを向上できます。プリミティブとは、数千におよぶ一般的なアルゴリズムに共通のインターフェイスです。プリミティブを使用することで、アプリケーションを変更することなく、さまざまな世代のプロセッサー向けに自動でアプリケーションをチューニングできます。
インテル® IPP ライブラリーは、さまざまな世代のハードウェア/命令セット向けに、信号、画像、データ処理関数を提供しています。インテル® IPP で記述されたコードは、利用可能なプロセッサーの機能を自動的に利用します。これは、開発および保守において大きな節約をもたらします。複数の実行パス (インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)、インテル® ストリーミング SIMD 拡張命令 3 補足命令 (インテル® SSSE3)、インテル® アドバンスト・ベクトル・エクステンション (インテル® AVX) など) のプログラムを記述するのではなく、1 つの最適化された実行パスのプログラムを記述して、複数の世代のプロセッサーで最適なパフォーマンスを得ることができます。
インテル® IPP は、次の利点をもたらすアルゴリズム・ビルディング・ブロックを提供することを目的としています。
使いやすさと移植性を向上するシンプルな "プリミティブ" C インターフェイスとデータ構造
市場投入までの時間の短縮
インテルのハードウェアによるスケーラビリティー
インテル® IPP ライブラリーは、インテル® Parallel Studio XE およびインテル® System Studio の一部としてインストールされます。また、コミュニティー・ライセンス・プログラムの下でスタンドアロン・パッケージとして提供されています。
異なる製品スイートで提供されるインテル® IPP 関数のほとんどは同じです。しかし、一部の製品パッケージにのみ含まれているインテル® IPP ライブラリーやドメインもあります。次の表は、各製品スイートで提供されるインテル® IPP の機能をまとめたものです。
インテル® IPP の機能 | インテル® Parallel Studio XE | インテル® System Studio | インテル® IPP スタンドアロン |
---|---|---|---|
一般的な関数ドメイン (ストリング操作、暗号化、コンピューター・ビジョン、データ圧縮、画像処理、信号処理など) | ○ | ○ | ○ |
組込みドメイン用の LTE (Long Term Evolution) 関数 | X | ○ | X |
Android™ プラットフォームおよびインテル® Quark™ プロセッサー・ベースのプラットフォーム用のインテル® IPP ライブラリー | X | ○ | X |
インテル® Xeon Phi™ コプロセッサー用のインテル® IPP ライブラリー | ○ | X | ○ |
OS X* 用のインテル® IPP ライブラリー | ○ | X | ○ |
最適化に関する注意事項 |
---|
インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。 注意事項の改訂 #20110804 |