Intel_Integrated_Performance_Primitivesとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Intel_Integrated_Performance_Primitivesの意味・解説 

Intel Integrated Performance Primitives

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/02/23 17:36 UTC 版)

Intel Integrated Performance Primitives
開発元 インテル
最新版
2022.0 / 2024年10月 (4 か月前) (2024-10)[1]
種別 ライブラリ
ライセンス プロプライエタリ
公式サイト Intel® Integrated Performance Primitives (Intel® IPP)
テンプレートを表示

インテル Integrated Performance Primitives (IPP) とは、マルチメディア画像処理信号処理のために最適化された基本関数群からなるソフトウェアライブラリである。ライブラリはインテルプロセッサならびに互換プロセッサをサポートしており、WindowsLinuxmacOSAndroidオペレーティングシステムの各プラットフォームで利用可能である。

ディスパッチ機能

IPPは複数世代のプロセッサごとに実装された複数の最適コードの中から、実行時に環境に応じて最適なものを動的選択するディスパッチ機能をサポートしている[2][3]。たとえばSSE/SSE2命令までをサポートするプロセッサではSSE/SSE2を利用したコードを、AVX命令までをサポートするプロセッサではAVXを利用したコードを実行する、などである。IPPを動的リンク(ダイナミックリンク)する場合は、実行時に自動的に最適な共有ライブラリのモジュール(Windows版ではDLL)が選択されるが、静的リンク(スタティックリンク)する場合はippStaticInit()関数(IPP 9.0から廃止[4])またはippInit()関数をあらかじめ明示的に呼び出しておく必要がある[5][6][7]。ippInit()を呼び出すタイミングは、通例アプリケーションプログラムのエントリポイント(main関数)だが[8]、動的リンクされるユーザーライブラリの内部でIPPを使用する場合は、ユーザーライブラリのスタートアッププロセス(WindowsではDllMain関数)でのippInit()呼び出しが必要となることがある[9]

マルチスレッド対応

IPPにはマルチスレッドバージョンとシングルスレッドバージョンが存在する。マルチスレッドバージョンは各関数の内部で複数のスレッドを利用して処理を分割することで、マルチコアCPUの性能を引き出すことができる。ただしIPP関数はすべてスレッドセーフである[10]ので、シングルスレッドバージョンを用いてアプリケーションコード側でより粒度の大きいマルチスレッド対応を行なうことも可能である。なお、内部スレッド化すなわちマルチスレッドバージョンはIPP 7.1で非推奨 (deprecated) となっており、シングルスレッドバージョンの利用が推奨されている[11][12]。またこれに伴い、ippSetNumThreads()などの関数が非推奨 (deprecated) となっている[13]。IPP 9.0でシングルスレッドライブラリはIntel C++ Compilerランタイムライブラリへの依存を削除した。マルチスレッドライブラリはIntel OpenMPライブラリにのみ依存する[14]

IPPCV

もともとOpenCVはオプションとして通常版のIntel IPPを利用して最適化されたコードをビルドすることもできていたが、OpenCV 3.0にて、Intel IPPのサブセットがIPPCV (IPPICV) として寄贈された[15]。IPPCVは、すべてのOpenCVユーザーが商用・非商用を問わず無料で使用することができる[16][17][18]

無償版

インテルによるサポートを受ける場合や旧バージョンが必要な場合など、IPPの利用は基本的に有償になるが、最新バージョンに限り無償で利用可能な、コミュニティライセンスや学術研究機関向けライセンスも存在する[19]

脚注

  1. ^ Intel® Integrated Performance Primitives (IPP) version 2022.0 is released. - Intel Community
  2. ^ インテル® IPP 9.0 ユーザーズガイド | ディスパッチ
  3. ^ インテル® IPP 9.0 ユーザーズガイド | コア関数とサポート関数
  4. ^ Appendix B: Removed Functions
  5. ^ コア関数
  6. ^ インテル(R) インテグレーテッド・パフォーマンス・プリミティブ Linux* 版ユーザーガイド | ダイナミック・リンク
  7. ^ インテル(R) インテグレーテッド・パフォーマンス・プリミティブ Linux* 版ユーザーガイド | スタティック・リンク (ディスパッチあり)
  8. ^ インテル® IPP 9.0 ユーザーズガイド | インテル® IPP アプリケーションのビルド
  9. ^ Intel® IPP - Intel® IPP linkage models - quick reference guide | Intel® Developer Zone
  10. ^ インテル® IPP 9.0 ユーザーズガイド | 付録 B: インテル® IPP スレッディングと OpenMP* のサポート
  11. ^ インテル® IPP の使用を開始する前に[リンク切れ]
  12. ^ インテル® インテグレーテッド・パフォーマンス・プリミティブ 8.2 ユーザーズガイド | 付録 B: インテル® IPP スレッディングと OpenMP* のサポート (廃止予定)
  13. ^ ippSetNumThreads deprecated - suggested replacement?
  14. ^ Intel® Integrated Performance Primitives 2020 Release Notes and New Features
  15. ^ Intel® IPP - Open Source Computer Vision Library (OpenCV) FAQ
  16. ^ OpenCV 3.0 - OpenCV
  17. ^ OpenCV's Platinum Membership - OpenCV
  18. ^ License of ippicv while distributing OpenCV - No clear answer from Intel on similar question yet - Intel Community
  19. ^ インテル® IPP の無料オプション、サポートなし、ロイヤルティー・フリー | iSUS

関連項目

外部リンク




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Intel_Integrated_Performance_Primitives」の関連用語

Intel_Integrated_Performance_Primitivesのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Intel_Integrated_Performance_Primitivesのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのIntel Integrated Performance Primitives (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS