インテル® Inspector とインテル® VTune™ プロファイラーを使用する

インテル® Advisor は次のような状況で役立ちます。

インテル® Inspector は、2024.2 が最終バージョンです。この最終リリース以降、機能改善やセキュリティー修正は行われません。詳細については、インテル® Inspector (英語) をご覧ください。​

インテル® Advisor はすべての問題を検出できません。また、並列処理が正しく実装されているかどうか保証できません。並列プログラムをリリースする前に、依存関係とパフォーマンスを検証する必要があります。これを行うため、インテル® oneAPI ベース・ツールキット、およびインテル® oneAPI HPC ツールキットに含まれる解析ツールを使用できます。

インテル® Inspector (英語) で提供されるスレッドエラー解析は、インテル® Advisor の依存関係ツールと同様のテクノロジーを使用しています。インテル® Inspector には、並列コードで発生するデータ競合とデッドロックの検出機能も含まれます。インテル® Advisor の依存関係ツールで解析されるアノテーション付きのシリアルコードではなく、実際の並列コードを使用するためさらに多くのエラーを検出できます。インテル® Inspector は、メモリーリーク、解放されたストレージの参照、初期化されていないメモリーの参照など、メモリーの問題も検出できます。メモリー・チェック・ツールは、シリアルと並列コードで動作します。

同様に、インテル® Advisor のサーベイとスータビリティー・ツールは、インテル® VTune™ プロファイラーで見られるような機能を提供します。サーベイツールはプログラムのホットスポットを検出するためプロファイルを行い、スータビリティー・ツールは、インテル® Advisor のアノテーションをベースとするオーバーヘッド・コストを含む並列パフォーマンスの概算を予測します。並列プログラムの動作を確認したら、インテル® VTune™ プロファイラーを使用して並列パフォーマンス・ゲインとコアの使用率を測定し、並列フレームワークのオーバーヘッドが許容範囲内かどうかチェックすべきです。

並列コードが実装されたら、次を行います。

インテル® VTune™ プロファイラーは、並列コードのパフォーマンスの問題を検出して、解決するのを支援する多くの機能を備えています。以下をチェックするのにも役立ちます。

もう一つの手法は、デバッガ―を使用して並列プログラムのシリアルバージョンを、並列構造とは逆の順番でデバッグします (並列プログラムのデバッグを参照)。

関連情報