------------------------------------------------------------------------ インテル(R) スレッディング・ビルディング・ブロック - リリースノート バージョン 1.1 ------------------------------------------------------------------------ 目次 -------- - 概要と製品の内容 - 新機能 - 動作環境 - インストール - 既知の問題 - テクニカルサポート - 関連製品とサービス - 著作権と商標について 概要と製品の内容 ---------------- インテル(R) スレッディング・ビルディング・ブロックの内容とフォルダー構成の 説明は README.txt を参照してください。このファイルは、製品の "doc" サブフォ ルダーに含まれています。 新機能 ---------- インテル(R) スレッディング・ビルディング・ブロックには以下の主な機能があり ます。 - ジェネリック、コンカレント、スレッドセーフなコンテナー: ハッシュテー ブル、ベクトル、キュー。 - ジェネリックな並列アルゴリズム: parallel for、reduce、scan (prefix)、 while、pipeline、sort。 - アトミック演算: read、write、fetch-and-store、fetch-and-add、 compare-and-swap。 - ロック: spin、reader-writer、queuing、OS-wrapper。 - ダイナミック・ライブラリー。複数のアーキテクチャー、プラットフォーム、 オペレーティング・システム、コンパイラーをサポート。デバッグ・ライブラリー・ バージョン。 - インテル(R) スレッディング・ビルディング・ブロックの基本的な使用方法 を例を使用して素早く習得できる簡潔な入門ガイド。 - 主な機能の使用方法を具体的な例で示す広範囲なチュートリアルとリファレ ンス・ドキュメント。 1.1 リリースの新機能は以下のとおりです。 - 新しいオペレーティング・システム・バージョンのサポート。 - プレビュー機能: 並列アルゴリズムは固定 grainsize を指定しないで使用 できるようになりました。 - Xcode* 2.4 以上を使用する Mac OS* システムにおけるサンプル例として Mac OS Xcode プロジェクトが提供されました。グラフィック・サンプル では、Xcode プロジェクトはネイティブ Mac OS グラフィックもサポート しています。 - parallel_reduce() 用の新しい convex hull サンプルが提供されました。 - インテル(R) スレッド・プロファイラーのサポートの改良。 - その他の機能、パフォーマンス、およびドキュメントの改良。 詳細な情報については、製品をインストールした後の "doc" サブフォルダーに含 まれているドキュメントを参照してください。 動作環境 -------- ハードウェア - 最小要件 Microsoft* Windows* システム インテル(R) Pentium(R) 4 プロセッサー Linux* システム インテル(R) Pentium(R) 4 プロセッサーまたは インテル(R) Itanium(R) 2 プロセッサー Mac OS システム インテル(R) Core(TM) Solo プロセッサー 512MB RAM 300MB のディスク空き容量 ハードウェア - 推奨 Microsoft Windows システム HT テクノロジー インテル(R) Pentium(R) 4 プロセッサーまたは インテル(R) Xeon(R) プロセッサー以上 Linux システム HT テクノロジー インテル(R) Pentium(R) 4 プロセッサーまたは インテル(R) Xeon(R) プロセッサー以上、またはインテル(R) Itanium(R) 2 プロセッサー Mac OS システム インテル(R) Core(TM) Duo プロセッサー 1GB RAM ハードウェア - 対応 インテル(R) Pentium(R) 4 プロセッサー インテル(R) Xeon(R) プロセッサー インテル(R) Pentium(R) D プロセッサー 64 ビット インテル(R) Xeon(R) プロセッサー インテル(R) Core(TM) Solo プロセッサー インテル(R) Core(TM) Duo プロセッサー インテル(R) Core(TM)2 Duo プロセッサー インテル(R) Itanium(R) 2 プロセッサー (Linux システムのみ) 上記のプロセッサーと互換性のある他社製のプロセッサー ソフトウェア - 最小要件 サポートしているオペレーティング・システム (下記を参照) サポートしているコンパイラー (下記を参照) Mac OS X Xcode 2.2.1 以上 (Mac OS システムのみ) Microsoft Internet Explorer* 6.0 以上 (Windows システム) Adobe(R) Reader(R)* 6.0 以上 ソフトウェア - 推奨 インテル(R) C++ コンパイラー 9.0 以上 (Windows および Linux システム) インテル(R) C++ コンパイラー 9.1 以上 (Mac OS システム) インテル(R) スレッドチェッカー 3.0 以上 インテル(R) スレッド・プロファイラー 3.0 以上 Web ブラウザー (Linux および Mac OS システム) ソフトウェア - サポートしているオペレーティング・システム Microsoft Windows システム Microsoft Windows XP Professional Microsoft Windows Server* 2003 Microsoft Windows Vista* Linux システム Red Hat* Enterprise Linux* 3、4 および 5 (Red Hat Enterprise Linux 4 をインテル(R) Itanium(R) プロセッサー・システムで使用している場合、オペレーティング・ システム Update 2 以上を推奨します) Red Hat Fedora* Core 4、5 および 6 (インテル(R) Itanium(R) プロセッサーを除く) Asianux* 2.0 Red Flag* DC Server 5.0 Haansoft* Linux* Server 2006 Miracle Linux* v4.0 SUSE* Linux* Enterprise Server (SLES) 9 および 10 SGI* Propack* 4.0 (インテル(R) Itanium(R) プロセッサーのみ) SGI Propack 5.0 (IA-32 アーキテクチャー・プロセッサーを除く) Mandriva/Mandrake* Linux* 10.1.06 (インテル(R) Itanium(R) プロセッサーを除く) Turbolinux* GreatTurbo Enterprise Server 10 SP1 (インテル(R) Itanium(R) プロセッサーを除く) Mac OS システム Mac OS X 10.4.4 以上、10.5 ソフトウェア - サポートしているコンパイラー Microsoft Visual C++* 7.1 (Microsoft Visual Studio* .NET 2003、Windows システムのみ) Microsoft Visual C++ 8.0 (Microsoft Visual Studio 2005、Windows システ ムのみ) インテル(R) C++ コンパイラー 9.0 以上 (Windows および Linux システム) インテル(R) C++ コンパイラー 9.1 以上 (Mac OS システム) サポートしている Linux オペレーティング・システムとともに提供されてい る標準 gcc バージョン: 3.2、3.3、3.4、4.0、4.1 サポートしている Mac OS オペレーティング・システムとともに提供されてい る標準 gcc バージョン: 4.0.1 (Mac OS X Xcode 2.2.1 以上) インストール ------------ インテル(R) スレッディング・ビルディング・ブロックの詳細なインストールの説 明は、INSTALL.txt を参照してください。このファイルは、製品をインストールし たフォルダーの "doc" サブフォルダーに含まれています。 既知の問題 ------------ インテル(R) スレッディング・ビルディング・ブロックの本リリースでは以下の点 に注意してください。 ライブラリーの問題 - cache_aligned_allocator テンプレートは、Microsoft の deque および list コンテナーと互換性がありません。 - atomic および atomic テンプレートは、 Microsoft Visual C++ 7.1 (Microsoft Visual Studio .NET 2003) コン パイラーを使用している場合はサポートされません。 - 例外を使用する場合、例外をスローするのと同じタスク内で例外をキャッチ する必要があります。 - インテル(R) スレッドチェッカーまたはインテル(R) スレッド・プロファイ ラーを使用した際により正確な結果を得るには、インテル(R) スレッディ ング・ビルディング・ブロックとともに使用する前にそれらの製品の最新 のアップデート・リリースをダウンロードしてください。 - 同じプログラムで連続してインテル(R) スレッディング・ビルディング・ブ ロックと OpenMP* コンストラクトをともに使用していて、OpenMP コード にインテル(R) コンパイラーを使用している場合、KMP_BLOCKTIME に小さ な値 (例えば、20 ミリ秒) を設定するとパフォーマンスが向上します。 この設定は、kmp_set_blocktime() ライブラリー呼び出しを使用して OpenMP コード内で行うこともできます。KMP_BLOCKTIME および kmp_set_blocktime() の詳細は、インテル(R) コンパイラーの OpenMP に 関するドキュメントを参照してください。 - 一般に、アプリケーションやサンプルの非デバッグ ("リリース") ビルドは、 インテル(R) スレッディング・ビルディング・ブロック・ライブラリーの 非デバッグバージョンとリンクし、デバッグビルドはこれらのライブラリー のデバッグバージョンとリンクします。Windows システムで、/MD でコン パイルしたときはインテル(R) スレッディング・ビルディング・ブロック のリリース・ライブラリーを使用し、/MDd でコンパイルしたときはデバッ グ・ライブラリーを使用します。異なるライブラリーを使用するとランタ イムエラーが発生する場合があります。デバッグ・ライブラリーとリリー ス・ライブラリーの詳細については、製品の "doc" サブフォルダーに含 まれているチュートリアルを参照してください。 ライブラリーのサンプル例の問題 - Windows システムで makefile または Microsoft Visual Studio プロジェ クトを使用してサンプル例をビルドすると、以下のような警告が表示され ます。 cl : コマンド ライン warning D4002 : 不明なオプション '/G-' を無視 しました。 この警告は無視してかまいません。コンパイルは完了し、生成される例も 正しく動作します。 - サンプル例の Xcode プロジェクトは、Mac OS システムでは、Xcode 2.4 以 上のみをサポートしています。2.4 よりも前の Xcode バージョンを使用 している場合、Mac OS システムでサンプル例をビルドし実行するには、 各サンプル例の index.html ページに記述されている 'make' コマンドを 使用してください。 ライブラリーのサンプル例の問題 - システムの Windows インストーラーのバージョンが 2.0 よりも古い場合、 インストーラーは自動的にアップグレードされます。この場合、インストー ルの完了後に、システムを再起動する必要があります。 - 特定のアンチウイルス・ソフトウェアが通常のインストール・プロセスで使 用されているスクリプトをブロックすることがあります。スクリプトのブ ロックを無効にするか、インストール・プロセスでスクリプトの実行を一 時的に許可してください。 ライブラリーのサンプル例の問題 - RPM の一部のバージョンは、デフォルト以外のインストール・フォルダーに インストールできません。RPM 4.0.2 (RPM 4.0.3 で解決)、RPM 4.1 (RPM 4.11 ~ 4.2 で解決) - Linux 上でインストールしている場合、インストールの最後の登録ステップ で e-mail アドレスを入力した後にプログラムがフリーズする既知の問題 があります。この問題が発生した場合、(例えば、 を押して) インストールを中断してください。インストールは既に完了しています。 この後、次のインテル(R) レジストレーション・センター Web サイトで 登録を行ってください。 https://registrationcenter.intel.com/ (英語) - Mandriva/Mandrake Linux 10.1.06 にインストールする場合、 "installing RPM package..." と表示された後にインストール・プログラ ムがフリーズする既知の問題があります。この問題が発生した場合、RPM を使用しないで再インストールしてください。 Mac OS のインストールの問題 - インテル(R) スレッディング・ビルディング・ブロックを Mac OS にインス トールする前に、Mac OS X Xcode 2.2.1 以上をインストールしておく必 要があります。 テクニカルサポート ------------------- インテル(R) ソフトウェア開発製品テクニカルサポートの Web サイトでは、チュー トリアル、ヒント、既知の製品の問題、製品のエラッタ、互換情報および FAQ な どの製品に関する豊富な情報を提供しています。次の Web サイトを参照してくだ さい。 http://www.intel.com/software/products/support/ (英語) テクニカルサポートと製品の最新版のダウンロードを利用するには、次の インテル(R) レジストレーション・センター Web サイトで製品の登録を行ってく ださい。 https://registrationcenter.intel.com/ (英語) インテル(R) スレッディング・ビルディング・ブロックについて質問や問題がある 場合は、次の Web サイトを参照してください。 https://registrationcenter.intel.com/support/ (英語) 問題や技術的な質問がある場合は、次のインテル(R) プレミアサポート Web サイ トから質問を送信してください。 https://premier.intel.com/ (英語) インテル(R) プレミアサポート Web サイトから質問を送信する場合は、以下のス テップに従ってください。 1. ブラウザーで Java* および JavaScript* が有効になっていることを確認 します。 2. https://premier.intel.com/ (英語) にアクセスします。 3. ログイン名とパスワードを入力します。大文字と小文字は区別されます。 4. [Login] ボタンをクリックします。 5. Confidentiality Statement を読んで、(内容に承諾されたら) [I Accept] ボタンをクリックします。 6. [Product] ドロップダウン・リストの隣の [Go] ボタンをクリックします。 7. 左側のナビゲーター・バーの [Submit Issue] リンクをクリックします。 8. [Product Type] ドロップダウン・リストから [Development Environment (tools,SDV,EAP)] を選択します。 9. ソフトウェアまたはライセンスに関する問題の場合は、[Product Name] ドロップダウン・リストから適切な [Intel(R) Threading Building Blocks for ] 項目を選択しま す。 10. 質問を入力します。ウィンドウの残りのフィールドも記入して、問題箇所 の送信を完了します。 問題の報告および製品に関するご意見を送信される際は、以下のガイドラインに注意してください。 1. インテル(R) スレッディング・ビルディング・ブロックの特定のリリース およびパッケージ ID 情報は、製品がインストールされたフォルダーにあ る tbbsupport.txt に含まれています。問題または質問を送信する場合は、 この情報を明記するようにしてください。 2. 問題、その他ご意見を入力してください。問題の報告の場合は、問題を再 現できるように、できるだけ具体的に説明してください。使用したコンパ イラー/リンカーのコマンドライン・オプションと簡単なテストコードを 追加してください。 3. システム構成情報を入力してください。オペレーティング・システム、イ ンストールされているアプリケーションの名前とバージョン、その他問題 の特定に役立つと思われるすべての情報を入力してください。 関連製品とサービス ------------------ その他のインテル・ソフトウェア開発製品の詳しい情報については、次の Web サ イトを参照してください。 http://www.intel.co.jp/jp/software/products/ これらの製品およびサービスは、インテル(R) スレッディング・ビルディング・ブ ロックとともに利用すると有効です。 インテル(R) C++ コンパイラーは、ソフトウェアの実行の高速化に重要な役割を果 たし、最新の IA-32 プロセッサーおよびインテル(R) Itanium(R) プロセッサーを サポートしています。詳細は、次の Web サイトを参照してください。 http://www.intel.com/software/products/compilers/ (英語) インテル(R) スレッドチェッカーは、スレッドプログラムやスレッドランタイムを 使用するプログラムにおいて、デッドロック、競合状態、スレッドの安全性問題を 引き起こすソースの場所を特定します。詳細は、次の Web サイトを参照してくだ さい。 http://www.intel.com/software/products/threading/ (英語) インテル(R) スレッド・プロファイラーは、Win32、POSIX*、OpenMP、カスタムな 同期化を使用する並列プログラムのパフォーマンスをチューニングします。詳細は、 次の Web サイトを参照してください。 http://www.intel.com/software/products/threading/ (英語) インテル(R) VTune(TM) パフォーマンス・アナライザーは、アプリケーションがど のように CPU を利用するかを評価し、アプリケーションのパフォーマンスの向上 に必要な修正部分を特定するのに役立ちます。詳細は、次の Web サイトを参照し てください。 http://www.intel.com/software/products/vtune/ (英語) インテル(R) パフォーマンス・ライブラリー・スイートは、各種インテル(R) プロ セッサー用に最適化されたルーチンのセットを提供します。詳細は、次の Web サ イトを参照してください。 http://www.intel.com/software/products/perflib/ (英語) インテル(R) ソフトウェア・カレッジは、インテル(R) アーキテクチャーとソフト ウェア最適化テクニックを説明するチュートリアル、ドキュメント、コードサンプ ルを提供します。詳細は、次の Web サイトを参照してください。 http://www.intel.com/software/college/ (英語) 著作権と商標について -------------------- 本資料に掲載されている情報は、インテル製品の概要説明を目的としたものです。 本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかか わらず、いかなる知的財産権のライセンスを許諾するためのものではありません。 製品に付属の売買契約書『Intel's Terms and Conditions of Sale』に規定されて いる場合を除き、インテルはいかなる責を負うものではなく、またインテル製品の 販売や使用に関する明示または黙示の保証(特定目的への適合性、商品性に関する 保証、第三者の特許権、著作権、その他、知的所有権を侵害していないことへの保 証を含む)にも一切応じないものとします。インテル製品は、医療、救命、延命措 置、重要な制御または安全システム、核施設などの目的に使用することを前提とし たものではありません。インテル製品は、予告なく仕様や説明が変更される場合が あります。 機能または命令の一覧で「留保」または「未定義」と記されているものがあります が、その「機能が存在しない」あるいは「性質が留保付である」という状態を設計 の前提にしないでください。これらの項目は、インテルが将来のために留保してい るものです。インテルが将来これらの項目を定義したことにより、衝突が生じたり 互換性が失われたりしても、インテルは一切責任を負いません。 MPEG は、ビデオの圧縮/伸張に関する国際的な規格であり、ISO によって奨励され ています。MPEG コーデックまたは MPEG 対応のプラットフォームを実装するには、 Intel Corporation をはじめとする各種の団体からライセンスを取得しなければな らない場合があります。 本資料で説明されているソフトウェアには、不具合が含まれている可能性があり、 公表されている仕様とは異なる動作をする場合があります。現在確認済みのソフト ウェアの不具合については、インテルまでお問い合わせください。 本資料およびこれに記載されているソフトウェアはライセンス契約に基づいて提供 されるものであり、その使用および複製はライセンス契約で定められた条件下での み許可されます。本資料で提供される情報は、情報供与のみを目的としたものであ り、予告なく変更されることがあります。また、本資料で提供される情報は、 インテルによる確約と解釈されるべきものではありません。インテルは本資料の内 容およびこれに関連して提供されるソフトウェアにエラー、誤り、不正確な点が含 まれていたとしても一切責任を負いません。 ライセンス契約で許可されている場合を除き、インテルからの文書による承諾なく、 本資料のいかなる部分も複製したり、検索システムに保持したり、他の形式や媒体 によって転送したりすることは禁じられています。 機能または命令の一覧で「留保」または「未定義」と記されているものがあります が、その「機能が存在しない」あるいは「性質が留保付である」という状態を設計 の前提にしないでください。「留保」または「未定義」の機能または命令の不適切 な使用は、ソフトウェア・コードをインテル・プロセッサー上で実行するときに予 測不能な動作やエラーを引き起こす場合があります。これらの項目は、インテルが 将来のために留保しているものです。これらの不正使用により、衝突が生じたり互 換性が失われたりしても、インテルは一切責任を負いません。 Intel、インテル、Intel ロゴ、Intel Core、Itanium、Pentium、VTune、Xeon は、 アメリカ合衆国およびその他の国における Intel Corporation の商標です。 * その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。 (C) 2007 Intel Corporation.