インテル® ソフトウェア開発ツール 2024.1.0 のリリースに伴い、インテル® HPC ツールキットのインストール・パッケージからインテル® Inspector が削除されました。引き続き、スタンドアロン・パッケージとしてダウンロードすることができますが、2025年以降には提供終了となる予定です。
今後の対応などの提供終了に関する詳細は、お知らせ/FAQ の「インテル® Inspector の提供終了」に関する案内をご確認ください。
インテル® Inspector は、 Windows* および Linux* OS 上で使用でき、C、C++ および Fortran アプリケーションのメモリーエラーとスレッド化エラーを容易に検出します。
特殊なコンパイラーやビルドの必要はありません。通常のデバッグもしくはリリースビルドのバイナリーを使用できます。グラフィック・ユーザー・インターフェイスもしくは、コマンドラインによる自動回帰テストが可能です。GUI は、Windows* と Linux* OS 上のスタンドアロンで利用でき、Windows* では Microsoft* Visual Studio* に統合できます。生産性を上げ、コストを抑えつつ早期に製品を市場へ投入できます。
インテル® Inspector は単体販売しておりません。以下製品に同梱されます。
主に以下の変更・機能が追加されました。
詳細は、 リリースノートおよび インテル社公開の情報を参照ください。
インテル® 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*) コンパイルし、コードを実行すると境界外メモリーアクセスが特定されレポートが生成されます。ポインターチェッカーには、インテル® コンパイラーが必要です。
CPU プロセッサー |
次のインテル® 64 アーキテクチャーに基づくシステムは、ホスト・プラットフォームとターゲット・プラットフォームの両方としてサポートされています。
|
アクセラレーター |
|
ディスク空き容量 |
|
RAM |
|
インテル® 64 アーキテクチャーでサポートされているオペレーティング・システムは以下の通りです。個々のツールは、その他のオペレーティング・システムやアーキテクチャーをサポートしている場合があります。詳細は、各ツールのリリースノートを参照してください。
GPU や FPGA などのアクセラレーターへオフロードするアプリケーションを開発する場合、サポートされるオペレーティング・システム用に特定のバージョンの GPU ドライバーが必要です。最新の情報は、「インテル® ソフトウェア開発ツール・インストール・ガイド」 (英語) の「インテル® GPU ドライバーのインストール」セクションを参照してください。
インテル® ソフトウェア開発ツール 2023.0 では、以下のドライバーバージョンで Windows* および Linux* での動作テストが行われました。
ご利用中のデバイスに適したリンクの手順に沿って、ドライバーをインストールしてください。
インテルの GPU につきましては、こちらの記事からご利用中のデバイスに適した手順をご確認ください。
注: これらの OS ディストリビューションはインテルによってテストされたもの、または動作が確認されているものです。その他のディストリビューションは、動作する場合としない場合があり、推奨されません。質問がある場合は、インテル・コミュニティー・フォーラムでサポートを受けることができます。商用サポートを利用可能な場合は、サポートチケットを作成いただくか、エクセルソフト株式会社までお問い合わせください。
ローカル・インストールとツールキットを使用するための環境設定に GNU* Bash が必要です。
CPU ホスト/ターゲットサポート
CPU ホスト/ターゲットの Linux* ディストリビューション | サポートされるコンポーネント |
---|---|
Red Hat* Enterprise Linux* 8、9 | すべてのコンポーネント |
Rocky Linux* 9 | すべてのコンポーネント |
SUSE* Linux Enterprise Server 15 SP3、SP4 | すべてのコンポーネント |
Ubuntu* 20.04, 22.04 | すべてのコンポーネント |
Debian* 11 | すべてのコンポーネント |
Amazon Linux* 2022 | すべてのコンポーネント |
WSL 2 | インテル® oneAPI コレクティブ・コミュニケーション・ライブラリー (インテル® oneCCL) を除くすべてのコンポーネント |
GPU アクセラレーター・サポート (GPU)
GPU アクセラレーターの Linux* ディストリビューション | サポートされるコンポーネント | 追加のソフトウェア要件 |
---|---|---|
Red Hat* Enterprise Linux* 8.6 | インテル® oneAPI スレッディング・ビルディング・ブロック (インテル® oneTBB) を除くすべてのコンポーネント | カーネル 4.11 またはそれ以降 |
Ubuntu* 22.04 | インテル® oneAPI スレッディング・ビルディング・ブロック (インテル® oneTBB) を除くすべてのコンポーネント | カーネル 4.11 またはそれ以降 |
SUSE* Linux Enterprize Server* 15 SP4 | インテル® oneAPI スレッディング・ビルディング・ブロック (インテル® oneTBB) を除くすべてのコンポーネント | カーネル 4.11 またはそれ以降 |
CPU サポート
OS (CPU) | サポートされるコンポーネント |
---|---|
Windows* Pro および Enterprise 10、11 | インテル® oneAPI コレクティブ・コミュニケーション・ライブラリー (インテル® oneCCL) を除くすべてのコンポーネント |
Windows Server* 2019、2022 | インテル® oneAPI コレクティブ・コミュニケーション・ライブラリー (インテル® oneCCL) を除くすべてのコンポーネント |
GPU アクセラレーター・サポート (iGPU)
OS (GPU) | サポートされるコンポーネント |
---|---|
Windows* 10、11 | インテル® oneAPI コレクティブ・コミュニケーション・ライブラリー (インテル® oneCCL)、インテル® oneAPI スレッディング・ビルディング・ブロック (インテル® oneTBB) を除くすべてのコンポーネント |
Windows Server* 2019、2022 | インテル® oneAPI コレクティブ・コミュニケーション・ライブラリー (インテル® oneCCL)、インテル® oneAPI スレッディング・ビルディング・ブロック (インテル® oneTBB) を除くすべてのコンポーネント |
統合プロセッサー・グラフィックスは、第 11 世代インテル® Core™ プロセッサーまたはそれ以降でご利用いただけます。
診断ユーティリティーは、インテル製品を使用するためシステムの状態を診断するように設計されています。このユーティリティーを使用することで、以下のようなエラーを見つけることができます。
詳細は、「診断ユーティリティー・ユーザーガイド」 (英語) を参照してください。
VS Code 拡張は、oneAPI アプリケーションを作成、デバッグ、およびプロファイルする開発者を支援します。詳細は、「Visual Studio* Code とインテル® ソフトウェア開発ツールの使用ユーザーガイド」 (英語) を参照してください。
VS Code Marketplace (英語) から以下の VS Code 拡張を利用できます。
関連情報:
インテル® ソフトウェア開発ツール 2024.1.0 のリリースに伴い、インテル® HPC ツールキットのインストール・パッケージからインテル® Inspector が削除されました。インテル® ソフトウェア開発ツール 2024.1.0 のリリース後も、引き続き、スタンドアロン・パッケージとしてダウンロードすることができますが、2025年以降には提供終了となる予定です。
インテル® Inspector の代替製品として、インテル® oneAPI DPC++/C++ コンパイラーおよびインテル® Fortran コンパイラーのサニタイザーや、オープンソースのインストルメンテーション・フレームワークである Valgrind (英語) の Memcheck と Helgrind をご利用いただけます。
詳細は、こちらの終息案内をご参照ください。
過去にインテル® ベース & HPC ツールキットの有償サポートサービス製品をご購入いただき、現在有効なサポートサービスをお持ちのお客様は、引き続き、通常通りサポートサービスをご利用いただけます。
2023年11月24日、インテル® Inspector 2024 が同梱されるインテル® ソフトウェア開発ツールに対応する有償サポートサービスの提供を開始しました。
過去に製品をご購入いただき、現在有効なサポートサービスをお持ちのお客様は、すぐにバージョン 2024 を無料でダウンロードしてご利用いただけます。
2022年12月19日、インテル® Inspector 2023 が同梱されるインテル® oneAPI 2023 の販売を開始しました。
過去に製品をご購入いただき、現在有効なサポートサービスをお持ちのお客様は、すぐにバージョン 2023 を無料でダウンロードしてご利用いただけます。
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 のセットを提供します。
いいえ。メモリーチェックはプログラムの解析中に発生したエラーのみ検出します。
インテル® レジストレーション・センターで操作します。
操作手順やよくあるご質問、トラブルシューティングは、インテル® レジストレーション・センター操作マニュアルを参照ください。
最新版、または旧バージョンのダウンロードは、インテル® レジストレーション・センターで行います。
詳細は以下ページを参照ください。