コマンドラインの 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