|
インテル スレッディング・ビルディング・ブロック(Intel® Threading Building Blocks,TBB)は、インテルが公開しているマルチスレッド対応のC++テンプレートライブラリである。マルチCPU・マルチコアCPUなどを搭載したコンピュータ上でアプリケーションを効率よく動作させることができる。 商用版とオープンソース版(GPL)があり、オープンソース版は無償でダウンロードが可能である。 様々なプラットフォーム上で動作する(クロスプラットフォーム)。 == 概要 == マルチCPU・マルチコアCPUを搭載したコンピュータ上でCPUリソースを効率よく利用することが目的であり、シングルCPU・シングルコアCPUでは性能向上は期待できない(スレッド切り替えのオーバーヘッドで逆にパフォーマンスが低下する可能性もある)。 動作するオペレーティングシステム (OS) はWindows、Mac OS X、SunOS、Linux、FreeBSDであり、それぞれのOSで実行させるために必要な外部ライブラリが別途提供される。 インテルがリリースノートで明記しているTBB2.0がサポートするOSは * Windows * Windows XP Professional * Windows Server 2003 * Windows Vista * Linux * Red Hat Enterprise Linux * Fedora Core * Asianux 2.0 * Red Flag DC Server 5.0 * Haansoft Linux Server 2006 * Miracle Linux v4.0 * SuSE Linux Enterprise Server * SGI Propack * Mandriva/Mandrake Linux 10.1.06 * Turbolinux GreatTurbo Enterprise Server 10 * Mac OS X * Mac OS X 10.4.4かそれ以上 基本的にインテルと互換性のあるプロセッサを搭載したコンピュータで効果的に利用できる。TBB2.0がサポートするプロセッサは * インテル * Intel Pentium 4 prosessor * Intel Xeon prosessor * Intel Pentium D prosessor * 64-bit Intel Xeon prosessor * Intel Core Solo prosessor * Intel Core Duo prosessor * Intel Core 2 Duo prosessor * Intel Itanium 2 prosessor(Linuxのみ) * インテル以外 * 上記のプロセッサと互換性のあるプロセッサ ただし、リリースノートで必要条件とされているシステムよりグレードの低いシステムでTBBを実行した結果については特に明示されておらず、。 ライブラリの構成は * タスクスケジューラ(Task Scheduler) * 並列処理アルゴリズム * スレッドセーフなコンテナ * ミューテックスなどの同期プリミティブ * スレッドセーフなアロケータ * パフォーマンス測定用クラス この内、タスクスケジューラおよびアロケータはTBBをサポートするクラスなので一般に開発者が使うことは少ない。 並列処理アルゴリズムはタスクスケジューラによって処理を分割してリソースに割り当てる。その為、コンテナやミューテックスなどを利用するときはタスクスケジューラの初期化は不要である。 また細分化する際の目安となるグレインサイズをプログラマが指定することも、TBBのランタイムライブラリが自動的に設定するようにすることも可能である。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Intel Threading Building Blocks」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Threading Building Blocks 」があります。 スポンサード リンク
|