ホットスポット・レポート

コマンドラインの hotspots レポートを使用して、プロセッサー時間を最も要する (ホットスポット解析)、利用可能な CPU を活用していない、または待機時間が長い (スレッド化解析) などのプログラム単位 (関数、モジュール、オブジェクトなど) を特定します。

ホットスポット・レポートを使用して、gpu-hotspots または gpu-offload 解析で特定された最もホットな GPU 計算タスク (またはインスタンス) を表示します。

このレポートではデフォルトで、最もパフォーマンス上重要なユニットから、最もホットなプログラム単位が降順で表示されます。コマンドライン・レポートは、デフォルトの GUI 解析ビューポイントで表示される内容と同じデータが示されます。

ホットスポット・レポートに使用できるグループを表示するには、vtune -report hotspots -r <result_dir> group-by=? のように入力します。結果ディレクトリーを指定しない場合、最後に使用した結果がデフォルトで使用されます。

例 1: モジュールによるグループ化のホットスポット

この例では、ホットスポットの解析結果 r001hs を開き、モジュールによるデータのグループ化を行います。

vtune -report hotspots -r r001hs -group-by module


    Module             CPU Time
    -----------------  --------
    analyze_locks      10.080s
    KERNELBASE          0.679s
    ntdl                0.164s
    ...

例 2: 項目を限定したホットスポット・レポート

この例は、CPU 時間値が最も高い上位 2 つの関数のみを含む r001hs 解析結果のホットスポット・レポートを表示します。パフォーマンスにそれほど影響しない関数は出力から除外されます。

vtune -report hotspots -r r001hs -limit 2


    Function          CPU Time
    ----------------  --------
    grid_intersect      5.489s
    sphere_intersect    3.590s

例 3: OpenCL* カーネルごとのレポート

この例は、GPU で送信および実行された OpenCL* カーネルごとに収集されたデータを表示する方法を示します。

vtune -report hotspots -group-by=computing-task -r r000gh

    Computing Task       Work Size:Global  Computing Task:Total Time  Data Transferred:Size  EU Array:Active(%)  L3 <->
        GTI Total Bandwidth, GB/sec
        -------------------  ----------------  -------------------------  ---------------------  ------------------  ----------------------------------
        AdvancePaths                    65536                    13.170s                                      25.0%                              22.928
        Init                            65536                     0.006s                                      34.4%                              45.802
        Intersect                       65536                    49.139s                                      61.5%                              23.149
        Sampler                         65536                     6.525s                                      76.4%                              11.745
        InitFrameBuffer                362432                     0.000s                                       4.7%                              17.456
        clEnqueueReadBuffer                                       1.045s                  3 GB                 1.5%                               8.840
    

例 4: SYCL* タスク・インスタンスごとにグループ化されたレポート

この例は、収集したデータを SYCL* タスク・インスタンスでフィルター処理およびグループ化します。

vtune -report hotspots -group-by=computing-instance -r r000gh


    Computing Task       Instance            Work Size:Global  Computing Task:Total Time  Data Transferred:Size  GPU Time
    -------------------  ------------------  ----------------  -------------------------  ---------------------  --------
    CopyVector2          2                            6553600                     0.190s                           0.190s
    clEnqueueReadBuffer  1                                                        0.034s                400 MB     0.034s

関連情報