インテル® インテグレーテッド・パフォーマンス・プリミティブ (インテル® IPP) は、デジタルメディア、データ処理および通信アプリケーションを高速化します。プリミティブとは、数千におよぶ一般的なアルゴリズムに共通のインターフェイスで、そのライブラリー・コードは最新のプロセッサーに伴って進化するため、アプリケーションを変更しなくても、アプリケーションで最新のプロセッサー機能を利用できます。インテルのハードウェアとコンパイラーは、さまざまな世代のハードウェア/命令セット向けに信号/画像処理、コンピューター・ビジョン、データ圧縮、暗号化、ストリング操作、オーディオ処理、およびビデオ・コーディング関数を提供してきました。新しい命令が出るたびに、インテル® IPP は継続して最適化されるため、インテル® IPP を使用するコードは、自動的に新しいプロセッサー機能を利用することができます。
これは、開発および保守において大きな節約をもたらします。ソフトウェア開発者は、複数の世代のプロセッサーで最適なパフォーマンスが得られるように、複数のパス (インテル® SSE2、SSSE3、AVX など) 向けに最適化されるコードの代わりに、1 つの実行パス向けに最適化されるプログラムを記述することができます。インテル® IPP の実装は、特定のコンパイラーやハードウェア向けに設計されていない C コードをただ単にコンパイルした場合よりも、パフォーマンスが大幅に向上します。インテルでは、ハードウェア・プラットフォームを一般公開する前にそのハードウェア・プラットフォーム向けの最適化に取り組んでいるため、新しいハードウェアを導入後すぐに最適化を利用できます。そのため、下位レベルの最適化の見直しに時間をとられることなく、新しい機能に集中し、迅速に開発を行うことができます。
インテル® IPP では、開発を支援するために、高レベルのマルチメディア・アプリケーション・プログラミング・インターフェイス (API) を含む、豊富なサンプルを用意しています。これには、次のようなオーディオ、ビデオ、イメージ、および音声コーデックが含まれています。
オーディオ: AAC、AC3、MP3
ビデオ: H.264、MPEG2、MPEG4、VC-1
イメージ: JPEG、JPEG-2000
音声: GSM-AMR、G.723
マルチメディア用高レベル API は、開発を支援するためのサンプルとして提供されています。生産目的のコンポーネントではありません。
インテル® IPP は、さまざまなアプリケーションに次の利点をもたらすアルゴリズム・ビルディング・ブロックを提供することを目的としています。
使いやすさと移植性を向上するシンプルな "プリミティブ" C インターフェイスとデータ構造
メディア処理 (プリミティブによりサポートされる、パフォーマンス・クリティカルな操作の関連インフラストラクチャーを含む) などのより複雑なタスク用の高レベル API
市場投入までの時間の短縮
インテルのハードウェアとともに進化するプリミティブ
|
インテル® コンパイラーは、互換マイクロプロセッサー向けには、インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります。これには、インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3)、ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3) 命令セットに関連する最適化およびその他の最適化が含まれます。インテルでは、インテル製ではないマイクロプロセッサーに対して、最適化の提供、機能、効果を保証していません。本製品のマイクロプロセッサー固有の最適化は、インテル製マイクロプロセッサーでの使用を目的としています。インテル® マイクロアーキテクチャーに非固有の特定の最適化は、インテル製マイクロプロセッサー向けに予約されています。この注意事項の適用対象である特定の命令セットの詳細は、該当する製品のユーザー・リファレンス・ガイドを参照してください。
改訂 #20110804 |