=============================================================================== インテル(R) スレッドチェッカー 3.1 Linux* 版 リリースノート =============================================================================== 目次 -------- - 概要 - 製品の内容 - 新機能 - 動作環境 - 既知の問題および制限 - テクニカルサポート - 関連製品 概要 -------- インテル(R) スレッドチェッカー Linux 版は、POSIX* および OpenMP* スレッドを 使用するプログラム中のスレッドの安全性問題を検出し、開発者が安全なマルチ スレッド・アプリケーションをより素早く作成できるようにします。スレッド チェッカーを使用すると、共有メモリーまたは同期の矛盾によって一貫性問題や デッドロックが起こるソースの場所を見つけられます。 Linux リモートデータ収集は Windows* 製品の一部ではなくなりましたが、互換性の ために現在でもコマンドラインから利用可能です。詳細は、カスタマーサポートに お問い合わせください。 製品の内容 -------------- Linux システムにインストールするインテル(R) スレッドチェッカー Linux 版 新機能 ---------- - 新しいインテル(R) Core(TM) Duo プロセッサー、インテル(R) Core(TM) Quad プロセッサー、デュアルコア インテル(R) Xeon(R) プロセッサーおよびデュアル コア インテル(R) Itanium(R) 2 プロセッサーを含む、最新のインテル・マルチ コア・プロセッサーのサポート。 - テキスト、html および csv 形式を含む新しいコマンドライン・レポート形式。 - 記述子ベースのスタティック・バイナリー・インストルメンテーションによる パフォーマンスの最適化 - インストルメントされたイメージサイズの縮小 - ランタイム・オーバーヘッドの軽減 動作環境 ------------ インテル(R) Pentium(R) プロセッサー・ベースの Linux システム ハードウェア最小要件 インテル(R) Pentium(R) 4 プロセッサー 512MB RAM 100MB のディスク空き容量 推奨するハードウェア HT テクノロジー対応 インテル(R) Pentium(R) 4 プロセッサーまたは インテル(R) Xeon(R) プロセッサー以上 2GB RAM ソフトウェア要件 Red Hat* Enterprise Linux* 3.0、Red Hat Enterprise Linux 4.0、 Red Hat Enterpise Linux 5.0、Fedora Core* 4、Red Flag* DC Server 5.0、 SUSE Linux Enterprise Server 9.0、SUSE Linux Enterprise Server 10.0、 GreatTurbo* Enterprise Server 10、SGI* Propack 4.0、 SGI Propack 5.0、Miracle* Linux* 4.0、Mandriva*/Mandrake* 10.1、 HaanSoft* Linux* Server 2006。 インテル(R) コンパイラーでコンパイラー・インストルメンテーション (-tcheck) を 使用する場合、インテル(R) 64 アーキテクチャー対応のプラットフォームでは インテル(R) コンパイラー 9.1 またはそれ以上を使用する必要があります。 OpenMP の分析またはソースのインストルメンテーションに必要なソフトウェア インテル(R) C++ コンパイラー 8.1 Linux 版、パッケージ ID: l_cc_p_8.1.026 以上 インテル(R) Fortran コンパイラー 8.1 Linux 版、パッケージ ID: l_fc_p_8.1.023 以上 インテル(R) Itanium(R) 2 プロセッサー・ベースの Linux システム ハードウェア最小要件 インテル(R) Itanium(R) プロセッサー 512MB RAM 100MB のディスク空き容量 推奨するハードウェア デュアルコア インテル(R) Itanium(R) 2 プロセッサー以上 2GB RAM ソフトウェア要件 Red Hat Enterprise Linux 3.0、Red Hat Enterprise Linux 4.0、 Red Flag DC Server 5.0、SUSE Linux Enterprise Server 9.0、 SUSE Linux Enterprise Server 10.0、GreatTurbo Enterprise Server 10、 SGI Propack 4.0、SGI Propack 5.0、Miracle Linux 4.0、Mandriva/Mandrake 10.1、 HaanSoft Linux Server 2006。 インテル(R) コンパイラーでコンパイラー・インストルメンテーション (-tcheck) を 使用する場合、インテル(R) Itanium(R) プロセッサー・ベースのプラットフォーム ではインテル(R) コンパイラー 9.1 またはそれ以上を使用する必要があります。 OpenMP の分析またはソースのインストルメンテーションに必要なソフトウェア インテル(R) C++ コンパイラー 9.0 Linux 版、パッケージ ID: l_cc_p_9.0.021 以上 インテル(R) Fortran コンパイラー 9.0 Linux 版、パッケージ ID: l_fc_p_9.0.021 以上 既知の問題および制限 ------------------------ 本リリースでは、Unicode* のファイル名をサポートしていません。 インテル(R) スレッドチェッカー Linux 版は、インテル(R) Itanium(R) ベースの プラットフォームでのバイナリー・インストルメンテーションをサポートしていません。 インテル(R) スレッドチェッカー Linux 版は、インテル(R) VTune(TM) パフォーマンス 環境のコマンドライン・インターフェイス (vtl) をサポートしていません。 -m および -x オプションを使用する際にはモジュールへのフルパスが必要です。 また、以前のバージョンのインテル(R) マス・カーネル・ライブラリー (インテル(R) MKL) のライブラリーとの互換性で問題が発生することがあります。 "undefined references to _kmpc_global_thread_num" のようなエラーメッセージが 表示されたら、インテル(R) MKL Linux 版を最新のバージョン (8.0 以上) にアップ グレードしてください。 インテル(R) Itanium(R) ベースのプラットフォームでソース・インストル メンテーション機能を使用する場合、インテル(R) コンパイラーで -ltcdata スイッチが必要です。 クライアント・アプリケーションをインストールする際にカウント式 FLEXlm* ライセンスファイルを使用する場合、FLEXlm サーバーが実行中ではないか、あるいは インストール時に使われるライセンスファイルを使用して FLEXlm サーバーが実行中 であることを確認してください。 インテル(R) スレッドチェッカー Linux 版で使用するバイナリー・インストル メンテーション・テクノロジーにより、一部のアプリケーションでは動作が変更 されたり、異常終了することがあります。この場合、問題のあったモジュールの インストルメンテーション・レベルを下げてください。 インテル(R) スレッドチェッカー Linux 版は、 プロセス (実行ファイル) 間で共有 されるスレッドや同期オブジェクトのスレッド化エラーを検出しません。 また、インテル(R) スレッドチェッカー Linux 版では、既に実行中のプロセスを解析 することはできません。起動するアプリケーション、または対象モジュールとして、 実行ファイルを指定する必要があります。 インテル(R) スレッドチェッカー Linux 版では、ネイティブバイナリーの解析を行う ことができますが、マネージドランタイム環境での実行を目的とする中間表現は サポートしていません。 ソース・インストルメンテーションが使用される場合を除いて、アプリケーションの グローバル変数が競合状態にある場合、変数の定義情報は利用できません。 fread() や pthread_create() など、システム API と同じ名前の関数を定義する ソフトウェアでは、"-tcheck" を使用してソース・インストルメンテーションを行うと リンクに失敗することがあります。また、インテル(R) スレッドチェッカーでそのような ソフトウェアを実行するとクラッシュすることがあります。この問題を回避するには、 ソフトウェアでシステム API と同じ関数名を使用していないことを確認してください。 インライン・アセンブリーを含む関数のソース・インストルメンテーションを行う場合、 インテル(R) スレッドチェッカー Linux 版のコマンドラインまたは VTune(TM) パフォーマンス環境以外で収集されたデータでは、スレッドチェッカーは正しくない 診断結果を生成することがあります。この問題を回避するには、"-tcheck" オプションを 使用してコンパイルし、インテル(R) スレッドチェッカー Linux 版のコマンドライン または VTune(TM) 環境でソフトウェアを実行してください。 Linux での解析 Linux でソース・インストルメンテーション機能を使用する場合、"-tcheck" を使用して コンパイルする前、または ittserver を起動する前に環境を設定する必要があります。 例: Linux 32 ビットの場合 . /opt/intel/itt/tcheck/bin/32/tcheckvars.sh または source /opt/intel/itt/tcheck/bin/32/tcheckvars.csh Linux 64 ビット (インテル(R) 64 アーキテクチャー環境) の場合 . /opt/intel/itt/tcheck/bin/32e/tcheckvars.sh または source /opt/intel/itt/tcheck/bin/32e/tcheckvars.csh Linux 64 ビット (インテル(R) Itanium(R) プロセッサー環境) の場合 . /opt/intel/itt/tcheck/bin/64/tcheckvars.sh または source /opt/intel/itt/tcheck/bin/64/tcheckvars.csh 本リリースでは、次の Linux バイナリーには対応していません。 - C/C++ ランタイム・ライブラリーまたは POSIX スレッド・ライブラリーと静的に リンクされた Linux アプリケーション - Linux カーネルおよびカーネルモジュール - Linux ダイナミック・リンカー/ローダー (/lib/ld.linux.so.*、/lib/ld.*.so) 非同期信号処理は、本リリースでは完全にサポートされていません。 インテル(R) スレッドチェッカーで非同期信号を使用するプログラムを解析すると、ストールする ことがあります。 インストルメント済みアプリケーションが exec システム関数を呼び出すと、イメージ・ コンテキストはすべて新しいイメージに置換されます。インストルメント済みイメージ 名で exec を呼び出す場合、インストルメント済みイメージが使用されます。その他の 場合、オリジナル (インストルメントされていない) イメージが呼び出され、ここでは 結果は生成されません。 インテル(R) スレッドチェッカー Linux 版は、setuid イメージをサポートしていません。 setuid は、ユーザープロセスに別のユーザー (通常は root) の実効ユーザー ID を 与えます。setuid 実行ファイルの所有者と同じユーザーとしてログインした場合のみ、 インテル(R) スレッドチェッカー Linux 版を使用して setuid 実行ファイルを実行 できます。 インタラクティブなユーザー入力が必要なコマンドライン・アプリケーションは解析 できません。 pthread_exit() がメインスレッドから呼び出され、実際のデッドロックおよびストール 検出か、リアルタイム診断表示が有効で、デッドロック検出時/プログラム終了時の プログラム強制終了が無効な場合、インテル(R) スレッドチェッカーの解析で、 プログラムがハングすることがあります。この場合、デッドロックおよびストール検出 とリアルタイム診断表示を無効にし、デッドロック検出時またはプログラム終了時の プログラム強制終了を有効にしてください。 ソースおよびバイナリー・インストルメンテーションは、スタック領域の使用を著しく 増加させることがあります。Linux では、limit コマンドや ulimit コマンドを使用 して、アプリケーションで使用するスタック領域を指定することができます。データ 収集を行うために、スタック領域を増やさなければならないことがありますが、 unlimited の指定には、十分な注意が必要です。 pthread スタックを作成するのに 十分な領域がなくなり、データ収集の失敗を引き起こすことがあります。 テクニカルサポート ---------------------- 製品サポート Web サイト (http://support.intel.com/support/performancetools/threadchecker/ (英語)) では、 FAQ、製品ドキュメント、製品エラッタ、一般的な問題の解決方法にアクセスすることが できます。 テクニカルサポートを受けたり、製品のアップデートを入手するには、インテル(R) レジストレーション・センター (http://www.intel.com/software/products/registrationcenter/) で、インテル(R) プレミアサポート・アカウントに登録してください。 インテル(R) プレミアサポート (https://premier.intel.com/ (英語)) に問題を送信 する場合、[Product Name] ドロップダウン・リストから [Intel(R) Thread Checker] を選択します。 問題を送信する際は、製品のビルド番号を提供してください。 ビルド番号は、 tcSupport.txt ファイルに記載されています。このファイルは、インテル(R) スレッド チェッカー Linux 版をインストールしたディレクトリーにあります。デフォルトの インストール・ディレクトリーは、"/opt/intel/itt" です。 テクニカルサポートでは、インテル(R) プレミアサポート・アカウントを使用して、 問題やその他ご意見が送信されてから、通常、1 営業日以内に回答をお送りしています。 プレミアサポートのログイン ID またはパスワードをまだ受け取っていない場合や紛失 した場合、あるいはアカウントにアクセスできない場合は、 https://registrationcenter.intel.com/support/ からお問い合わせください。 関連製品とサービス ---------------------- インテル(R) ソフトウェア開発製品に関する情報は、 http://www.intel.co.jp/jp/software/products/ を参照してください。 関連製品には次のものが含まれます。 - インテル(R) スレッド・プロファイラーは、Win32*、Win64*、POSIX、OpenMP、 カスタムな同期化を使用する並列プログラムのパフォーマンスをチューニング します。 ( http://www.intel.co.jp/jp/software/products/ ) - インテル(R) VTune(TM) パフォーマンス・アナライザーは、アプリケーションが どのように CPU を利用するかを評価し、アプリケーションのパフォーマンスの向上 に必要な修正部分を特定するのに役立ちます。 ( http://www.intel.co.jp/jp/software/products/ ) - インテル(R) コンパイラーは、最新のインテル(R) Pentium(R) プロセッサーおよび インテル(R) Itanium(R) プロセッサーをサポートしており、ソフトウェアの実行を 高速化する上で重要な役割を果たします。 ( http://www.intel.co.jp/jp/software/products/ ) - インテル(R) クラスターツールは、インテル(R) プロセッサー・ベースのシステム で構築したクラスター上で、開発者が高性能アプリケーションの開発、分析、 最適化を行えるようにします。 ( http://www.intel.co.jp/jp/software/products/ ) - インテル(R) パフォーマンス・ライブラリー・スイートは、各種インテル(R) プロセッサー用に最適化されたルーチンのセットを提供します。 ( http://www.intel.co.jp/jp/software/products/ ) - インテル(R) ソフトウェア・カレッジでは、開発者向けに最先端のソフトウェア 開発テクノロジーのトレーニングを提供しています。トレーニングには、オンライン および講師によるコースがあり、インテルのすべてのアーキテクチャー、プラット フォーム、ツール、およびテクノロジーをカバーしています。 ( http://www.intel.co.jp/jp/software/products/ ) 著作権と商標について ------------------------ 本資料で提供される情報は、予告なく変更されることがあります。インテルは本資料の 内容およびこれに関連して提供されるソフトウェアにエラー、誤り、不正確な点が含まれ ていたとしても一切責任を負いません。本資料およびこれに記載されているソフトウェア はライセンス契約に基づいて提供されるものであり、その使用および複製はライセンス 契約で定められた条件下でのみ許可されます。本資料は、明示されているか否かにかか わらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスを 許諾するためのものではありません。本資料に掲載されている情報は、インテル製品の 概要説明を目的としたものであり、インテルによる確約と解釈されるべきものではあり ません。 製品に付属の売買契約書『Intel's Terms and Conditions of Sale』に規定されている 場合を除き、インテルはいかなる責を負うものではなく、またインテル製品の販売や 使用に関する明示または黙示の保証(特定目的への適合性、商品性に関する保証、 第三者の特許権、著作権、その他、知的所有権を侵害していないことへの保証を含む) にも一切応じないものとします。 インテル製品は、医療、救命、延命措置、重要な制御 または安全システム、核施設などの目的に使用することを前提としたものではありません。 機能または命令の一覧で「留保」または「未定義」と記されているものがありますが、 その「機能が存在しない」あるいは「性質が留保付である」という状態を設計の前提に しないでください。これらの項目は、インテルが将来のために留保しているものです。 インテルが将来これらの項目を定義したことにより、衝突が生じたり互換性が失われ たりしても、インテルは一切責任を負いません。 本資料で説明されているソフトウェアには、不具合が含まれている可能性があり、公表 されている仕様とは異なる動作をする場合があります。現在までに判明している不具合 の情報については、インテルのサポートサイトをご覧ください。 Intel、インテル、Intel ロゴ、Intel Core、Itanium、Pentium、VTune、Xeon は、 アメリカ合衆国およびその他の国における Intel Corporation の商標です。 * その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。 (C) 2007 Intel Corporation.