SOL terminologies and calculations

I would like to know how SOL SM [%] and SOL Memory [%] values are calculated.

Memory Frequency                cycle/usecond     780.52
Elapsed Cycles                          cycle      5,034
Memory [%]                                  %      21.47
Duration                              usecond       4.54
SM Active Cycles                        cycle     386.18
SM [%]                                      %       0.32

If we divide SM Active Cycles by Elapsed Cycles, we get 0.0766 which is far less than SM [%].
I also, don’t know what is the definition of Memory [%].

BTW, there is a SOL FB which is not clear what is FB?

1 Like

@felix_dt
Excuse me, do you have any idea about that?

Mahmood you can refer to the Metric references and description post in which Magnus has explained some of these metrics.

1 Like

SM [%] is the metric sm__throughput.avg.pct_of_peak_sustained_elapsed. The SM has many subunits. This metric reports the value of the unit with the highest throughput (or SOL) in the SM.

sm__cycles_active.avg / sm__cycles_elapsed.avg == sm__cycles_active.avg.pct_of_peak_sustained_elapsed. As you stated this would be 386 / 5,035 = 7.6%. This metric is not included in the default sections but can be specified on the command line.

FB stands for Frame Buffer. The FB unit is contains the GDDR or HBM memory controllers. The L2 (LTS) sends load/store requests. The FB unit converts these requests to memory specific commands.

Memory [%] is the metric gpu__compute_memory_throughput.avg.pct_of_peak_sustained_elapsed. The memory subsystem is comprised of interfaces and units from SM write-back to L1 to L2 to FB. This metric reports the value of the unit with the highest throughput (of SOL) in the memory subsystem.

The Speed of Light section has a breakdown of the sub-metrics for SM [%] and Memory [%].