nvprofメトリックを理解しようとしています。私はCUDAを初めとしており、パフォーマンスにとって重要な指標を理解しようとしています。nvprofメトリックsm_efficiencyとwarp_execution_効率0を理解しようとしています
行列間の絶対差の和を計算するためのカーネルを作成しました。
Tegra X1で実行すると、ブロックあたり1584ブロックと1024スレッドで約47msで平均化されます。私はこれらの指標を得るnvprof実行
:他のメトリックはとても優れているとき
achieved_occupancy Achieved Occupancy 0.982284 0.982284 0.982284
warp_execution_efficiency Warp Execution Efficiency 0.00% 0.00% 0.00%
sm_efficiency Multiprocessor Activity 0.11% 0.11% 0.11%
branch_efficiency Branch Efficiency 100.00% 100.00% 100.00%
ipc Executed IPC 3.600738 3.600738 3.600738
はどのように来Warp Execution Efficiency
とMultiprocessor Activity
は、非常に低いですか?これらは、カーネルの一般的なパフォーマンスをプロファイリングする際の正しいメトリクスです。
warp_execution_efficiencyとsm_efficiencyが正しいとは思いません。達成された確率はほぼ100%です(これは、1 SMあたり2048 = 64ワープが完全に収まるかどうかの期待に合っています.IPCPがSMかGPUかを覚えていません。 * 2 SMs = 12。最小sm_効率は3.6/12 = 30%でなければなりません。2回目のメトリックの収集をお勧めします。結果とカーネルを投稿してください。 –