I am trying to verify that my 2080 Ti tensor cores are being used when running AMP on the official Tensorflow Resnet benchmarks (due to there being a slowdown with AMP vs. standard fp32).
I have been running commands like:
v-nsight-cu-cli --target-processes all -k volta_sgemm_128x64_nt -c 1 --metrics ... python tf_benchmark_wrapper.py
But it’s not clear what metrics I should be paying attention to. The
sm__inst_executed_pipe_hmmafp32_sum
metric given at https://devblogs.nvidia.com/using-nsight-compute-nvprof-mixed-precision-deep-learning-models/ is not listed by
--list-metrics (Edit: I meant --query-metrics)
and I presume it’s been deprecated.
Passing in a large list of metrics, I see output like:
sm__inst_executed_pipe_tensor_op_hmma.max inst 0
sm__inst_executed_pipe_tensor_op_hmma.max.pct_of_peak_burst_active % 0
sm__inst_executed_pipe_tensor_op_hmma.max.pct_of_peak_burst_elapsed % 0
sm__inst_executed_pipe_tensor_op_hmma.max.pct_of_peak_burst_frame % 0
sm__inst_executed_pipe_tensor_op_hmma.max.pct_of_peak_burst_region % 0
sm__inst_executed_pipe_tensor_op_hmma.max.pct_of_peak_sustained_active % 0
sm__inst_executed_pipe_tensor_op_hmma.max.pct_of_peak_sustained_elapse % 0
sm__inst_executed_pipe_tensor_op_hmma.max.pct_of_peak_sustained_frame % 0
sm__inst_executed_pipe_tensor_op_hmma.max.pct_of_peak_sustained_region % 0
sm__inst_executed_pipe_tensor_op_hmma.max.peak_burst inst/cycle 4
sm__inst_executed_pipe_tensor_op_hmma.max.peak_sustained inst/cycle 1
sm__inst_executed_pipe_tensor_op_hmma.max.per_cycle_active inst/cycle 0
sm__inst_executed_pipe_tensor_op_hmma.max.per_cycle_elapsed inst/cycle 0
sm__inst_executed_pipe_tensor_op_hmma.max.per_cycle_in_frame inst/cycle 0
sm__inst_executed_pipe_tensor_op_hmma.max.per_cycle_in_region inst/cycle 0
sm__inst_executed_pipe_tensor_op_hmma.max.per_second inst/second 0
sm__inst_executed_pipe_tensor_op_hmma.min inst 0
sm__inst_executed_pipe_tensor_op_hmma.min.pct_of_peak_burst_active % 0
sm__inst_executed_pipe_tensor_op_hmma.min.pct_of_peak_burst_elapsed % 0
sm__inst_executed_pipe_tensor_op_hmma.min.pct_of_peak_burst_frame % 0
sm__inst_executed_pipe_tensor_op_hmma.min.pct_of_peak_burst_region % 0
sm__inst_executed_pipe_tensor_op_hmma.min.pct_of_peak_sustained_active % 0
sm__inst_executed_pipe_tensor_op_hmma.min.pct_of_peak_sustained_elapse % 0
sm__inst_executed_pipe_tensor_op_hmma.min.pct_of_peak_sustained_frame % 0
sm__inst_executed_pipe_tensor_op_hmma.min.pct_of_peak_sustained_region % 0
sm__inst_executed_pipe_tensor_op_hmma.min.peak_burst inst/cycle 4
sm__inst_executed_pipe_tensor_op_hmma.min.peak_sustained inst/cycle 1
sm__inst_executed_pipe_tensor_op_hmma.min.per_cycle_active inst/cycle 0
sm__inst_executed_pipe_tensor_op_hmma.min.per_cycle_elapsed inst/cycle 0
sm__inst_executed_pipe_tensor_op_hmma.min.per_cycle_in_frame inst/cycle 0
sm__inst_executed_pipe_tensor_op_hmma.min.per_cycle_in_region inst/cycle 0
sm__inst_executed_pipe_tensor_op_hmma.min.per_second inst/second 0
sm__inst_executed_pipe_tensor_op_hmma.sum inst 0
sm__inst_executed_pipe_tensor_op_hmma.sum.pct_of_peak_burst_active % 0
sm__inst_executed_pipe_tensor_op_hmma.sum.pct_of_peak_burst_elapsed % 0
sm__inst_executed_pipe_tensor_op_hmma.sum.pct_of_peak_burst_frame % 0
sm__inst_executed_pipe_tensor_op_hmma.sum.pct_of_peak_burst_region % 0
sm__inst_executed_pipe_tensor_op_hmma.sum.pct_of_peak_sustained_active % 0
sm__inst_executed_pipe_tensor_op_hmma.sum.pct_of_peak_sustained_elapse % 0
sm__inst_executed_pipe_tensor_op_hmma.sum.pct_of_peak_sustained_frame % 0
sm__inst_executed_pipe_tensor_op_hmma.sum.pct_of_peak_sustained_region % 0
sm__inst_executed_pipe_tensor_op_hmma.sum.peak_burst inst/cycle 272
sm__inst_executed_pipe_tensor_op_hmma.sum.peak_sustained inst/cycle 68
sm__inst_executed_pipe_tensor_op_hmma.sum.per_cycle_active inst/cycle 0
sm__inst_executed_pipe_tensor_op_hmma.sum.per_cycle_elapsed inst/cycle 0
sm__inst_executed_pipe_tensor_op_hmma.sum.per_cycle_in_frame inst/cycle 0
sm__inst_executed_pipe_tensor_op_hmma.sum.per_cycle_in_region inst/cycle 0
sm__inst_executed_pipe_tensor_op_hmma.sum.per_second inst/second 0
And it’s not clear how
.sum
is different from
.sum.peak_burst
nor if that’s the right metric family to be looking at.
Where can I find more information about these metrics? Is there a clear signal for “yes, AMP is working and using tensor cores properly”?