インテル® Inspector は、 Windows* および Linux* OS 上で使用でき、C、C++ および Fortran アプリケーションのメモリーエラーとスレッド化エラーを容易に検出します。
特殊なコンパイラーやビルドの必要はありません。通常のデバッグもしくはリリースビルドのバイナリーを使用できます。グラフィック・ユーザー・インターフェイスもしくは、コマンドラインによる自動回帰テストが可能です。GUI は、Windows* と Linux* OS 上のスタンドアロンで利用でき、Windows* では Microsoft* Visual Studio* に統合できます。生産性を上げ、コストを抑えつつ早期に製品を市場へ投入できます。
インテル® inspector は単体販売しておりません。以下製品に同梱されます。
C/C++、Fortran コンパイラーと MPI 開発ツールにより、CPU およびアクセラレーターまたはそれらのクラスターへ最適化された HPC アプリケーションの開発を支援します。
主に以下の変更・機能が追加されました。
詳細は、 リリースノートおよび インテル社公開の情報を参照ください。
CPU ターゲットで実行されるデータ並列 C++ (DPC++) および OpenMP* オフロードコードのメモリーおよびスレッドエラー解析をサポート。
Windows における memcpy() 関数の引数の整合性チェックを追加。
改善された C++ スタックフレームの視覚化をサポート。
インテル® Inspectorは、Windows および Linux 上で動作する C、C++ および Fortran アプリケーション用の使いやすいメモリー / スレッド化エラーのデバッガーです。早期にエラーを見つけ、修正コストを節約します。
特別なコンパイラーやビルドは必要ありません。通常のデバッグまたはプロダクション・ビルドを使用するだけです。
グラフィカル・ユーザー・インターフェイスで使用でき、またコマンドラインで回帰テストを自動化することも可能です。 ユーザーインターフェイスは、Windows と Linux の両方でスタンドアロンで使用することも、Microsoft Visual Studio と統合することもできます。
生産性を高め、コストを削減し、市場投入までの期間を短縮します。
インテル® Inspector は、インテル® Parallel Studio XE およびインテル® System Studio ツールの一部として提供されています。製品には、サポートサービスが含まれます。
他のメモリーやスレッド解析ツールとは異なり、インテル® Inspector は分析のための特殊なビルドや再コンパイルを必要としません。通常のデバッグもしくはリリースビルドを利用します (解析結果をソースコードにマップするためシンボルが必要です)。開発者のワークフローを速く、そして簡単にするだけでなく、信頼性と正確性を向上させます。
これは、インテル® Inspector の動的なバイナリーのインストルメントにより可能となります。ほかの静的コンパイルベースのインストルメント技術は、動的に生成されたもしくはリンクされたコードでは困難です。インテル® Inspector は、ソースコードのないサードパーティーから提供されるライブラリーを含むすべてのコードを検査できます。
メモリーリーク、メモリー破壊および不正アクセスなどのエラーは、ツールなしでは特定が困難です。競合やデッドロックなどのスレッドエラーは、非決定論的で再現性が低いためさらに検出が困難です。インテル® Inspector はエラーを検出して、決定論性のあるデバッグを可能にします。スレッドとメモリーエラーの詳細は、以下をチェックしてください。
他のメモリーやスレッド解析ツールとは異なり、インテル® Inspector は分析のため特殊なビルドおよび再コンパイルを必要としません。通常のデバッグもしくはリリースビルドを利用します (解析結果をソースコードにマップするためシンボルが必要です)。開発者のワークフローを速く、そして簡単にするだけでなく、信頼性と正確性を向上させます。他の静的コンパイルベースのインストルメント技術は、動的に生成されたもしくはリンクされたコードと競合します。インテル® Inspector は、ソースコードのないサードパーティーから提供されるライブラリーを含むすべてのコードを検査できます。
Fortran のレガシーコードを使用していますか? ソースコードのないライブラリーを使用していますか? 問題ありません。すべて動作します。動的インストルメントでは、ソースコードのないサードパーティーから提供されるライブラリーを含むすべてのコードの検査が可能です。
インテル® Inspector は、インテル® Xeon Phi™ コプロセッサーで実行中のアプリケーションを直接解析することはできませんが、インテル® Xeon Phi™ コプロセッサー向けのソフトウェアを解析できます。ホスト上のマルチコア・プロセッサー上でアプリケーションを実行して、インテル® Inspector で解析することで、インテル® Xeon Phi™ コプロセッサーで実行した時のメモリーエラーやスレッド化エラーを検知できます。
誤認識されたエラーを排除し、API を使用して分析対象としないメモリーを通知することで、解析をスピードアップします (例えば、同期データ構造体など)。
インテル® Inspector は、インテル® TBB、インテル® Cilk™ Plus そして OpenMP* の並列プログラミング・モデルのセマンティクスを解釈できます。これにより、作業時間を短縮できます。
Windows* と Linux* の両方で開発していますか? 双方の OS 環境で同じ解析ツールを簡単に利用したくはないですか? インテル® Inspector は、Windows* と Linux* の両方で同じユーザー・インターフェイスを提供します。Windows* 環境では、スタンドアロンか Microsoft* Visual Studio* 統合環境で利用できます。
インテル® Inspector は、MPI アプリケーションのメモリーとスレッド化のエラーを検知できます。単一の共有メモリーシステムで初期解析を行うと、多くのエラーを特定でき、追加の解析をクラスター上で実行できます。解析結果は、ランクごとにソートされます。
ポインターチェッカーは、割り当てられた領域を超えるメモリーアクセスを検知するコンパイラー・ベースの診断です。ダングリング・ポインターやバッファー・オーバーフローなどを見つけます。例外が発生した場合、デバッガーへ移行してブレークすることで診断をスピードアップします。ポインターチェッカーを有効にして (/Qchecked-pointers – Windows*、-checked-pointers – Linux*) コンパイルし、コードを実行すると境界外メモリーアクセスが特定されレポートが生成されます。ポインターチェッカーには、インテル® コンパイラーが必要です。
プロセッサー | インテル® プロセッサー、インテル® コプロセッサー、および互換プロセッサーでインテル® 命令セットを含むアプリケーションを分析 |
オペレーティング・システム |
|
開発ツールと環境 | 各プラットフォームの規格に準拠しているコンパイラー (Microsoft* コンパイラー、GNU* コンパイラー、インテル® コンパイラーなど) と互換性があります。
GUI は、Windows* と Linux* スタンドアロンで利用でき、Windows* では Microsoft* Visual Studio* の上記のバージョンに統合できます。 特殊なコンパイラーやビルドの必要はありません。通常のデバッグもしくはリリースビルドのバイナリーを使用できます。 |
言語 | C、C++、Fortran |
並列プログラミング・モデル |
|
RAM | 4GB |
ディスク空き容量 | 350MB (すべての機能をインストールする場合) |
2021年 12月 23日、インテル® Inspector 2022 が同梱されるインテル® oneAPI 2022 の販売を開始しました。
過去に製品をご購入いただき、現在有効なサポートサービスをお持ちのお客様は、すぐにバージョン 2022 を無料でダウンロードしてご利用いただけます。
2020年 12月 9日、インテル® Inspector 2021 が同梱されるインテル® oneAPI 2021 の販売を開始しました。
過去に製品をご購入いただき、現在有効なサポートサービスをお持ちのお客様は、すぐにバージョン 2021 を無料でダウンロードしてご利用いただけます。
2019年 12月 18日、インテル® Inspector 2020 が同梱されるインテル® Parallel Studio XE 2020 の販売を開始しました。
過去に製品をご購入いただき、現在有効なサポートサービスをお持ちのお客様は、すぐにバージョン 2020 を無料でダウンロードしてご利用いただけます。
2018年 9月 13日、インテル® Inspector 2019 が同梱されるインテル® Parallel Studio XE 2019 の販売を開始しました。
過去に製品をご購入いただき、現在有効なサポートサービスをお持ちのお客様は、すぐにバージョン 2019 を無料でダウンロードしてご利用いただけます。
インテル社の方針により、2017年 9月 12日を以って、インテル® Inspector 単体製品のサポートサービス更新用製品「SSR (期限内更新用)」および「SSR (期限切れ更新用)」の販売を終了させていただきました。
2017年 9月 13日から 2018年 3月 30日までの期間限定で、サポートサービスが有効なインテル® Inspector 製品をお持ちのお客様限定で、インテル® Inspector をコンポーネントとして含むインテル® Parallel Studio XE Professional Edition 製品へ、大特価にてアップグレードいただけるお得な特別アップグレード製品を販売させていただいております。アップグレードの詳細は、 こちらのページをご覧ください。
インテル社の方針により、2014年 8月 26日 (火) を以って、インテル® Inspector 単体製品の新規ライセンスの販売を終息しました。
いいえ。インテル® Inspector のメモリー / スレッド・チェック・ツールは、プログラムバイナリーを動的にインストルメントして解析します。プログラムを再コンパイルしたり、リビルドする必要はありません。エラーレポートがソースコードの場所に関連付けられるように、デバッグ情報を含むデバッグバイナリーまたはリリースバイナリーを使用することを推奨します。
通常、最高レベルの解析で実行するとアプリケーションのコードパスに存在するメモリーエラーやスレッド化エラーはすべて検出されますが、インテル® Inspector がプログラムのメモリー / スレッド化エラーをすべて検出できるという保証はありません。
インテル® Inspector のインタラクティブ・デバッグ機能を利用すると、標準デバッガーを使用して、インテル® Inspector で検出されたメモリー問題やスレッド問題を調査することができます。Microsoft® Visual Studio® デバッガー (Windows®) およびインテル® デバッガーと GNU* デバッガー (Linux*) をサポートします。
潜在的なエラーの範囲によります。スレッドチェック解析は動的で、実行されたコードのエラーのみ検出します。実行されないコードのエラーは検出しません。実行されたコードでは、スレッドチェックは、データ競合、クロススレッド・スタック・アクセス、潜在的なデッドロックのような潜在的なエラーを検出することができます。プログラムが正しい出力を生成している場合でもスレッドチェックがエラーを報告することがあるのはこのためです。
いいえ。現在の製品リリースのスレッドチェックは、アトミック性の違反などの論理エラーを検出しません。
はい。メモリーチェックとスレッドチェックはどちらも、ターゲットの並列プログラムで使用されている利用可能なコアまたはハードウェア・スレッドで解析を実行します。一般に、解析のオーバーヘッドは適切にスケールし、ターゲット・アプリケーションのスケーリング係数に似ています。
インテル® Inspector は、シングルコア・マシン上でもスレッドエラーを検出することができます。プログラムで複数のスレッドを使用していれば、マルチコアマシンでスレッドチェックを実行する必要はありません。プログラムが Windows® または POSIX* スレッド API を明示的に使用してスレッドを作成している場合、単一プロセッサー/シングルコア・マシン上で複数のスレッドを作成しても問題ありません。プログラムがインテル® TBB、OpenMP* プラグマ、インテル® Cilk™ Plus、その他のマシンの利用可能なコア数に基づいてスレッドを作成するタスク/スレッド化モデルを使用している場合、スレッド化モデルを使用して複数のスレッドを作成する必要があります。 もちろん、マルチコアマシンで実行するほうが、パフォーマンスは高くなります。
はい。スレッドチェックおよびメモリーチェックの GUI またはコマンドラインで、除外するモジュールを指定できます。 しかし、メモリーチェックでは推奨しません。サードパーティーのライブラリーを除外した場合、初期化されていないメモリーや不正なポインターがサードパーティーのライブラリーに渡されても、それらの使用が検出されません。このようなケースでは、問題はサードパーティーのライブラリーにはありません。
プラグインモジュールを解析するには、プラグインモジュールをロードして実行するアプリケーションをインテル® Inspector で実行する必要があります。モジュールの追加または除外オプションを使用して、インテル® Inspector がプラグインモジュールのみを解析するように指定できます。
追加のアノテーションがないと、カスタムメモリー管理 API やカスタム同期プリミティブを含むアプリケーションを解析したときに、インテル® Inspector が誤検出をレポートすることがあります。 インテル® Inspector は、ソースコードにアノテーションを付けることで、解析に同期およびメモリー管理 API を通知する、API のセットを提供します。
いいえ。メモリーチェックはプログラムの解析中に発生したエラーのみ検出します。
インテル® レジストレーション・センターで操作します。
操作手順やよくあるご質問、トラブルシューティングは、インテル® レジストレーション・センター操作マニュアルを参照ください。
最新版、または旧バージョンのダウンロードは、インテル® レジストレーション・センターで行います。
詳細は以下ページを参照ください。