-
Notifications
You must be signed in to change notification settings - Fork 279
Expand file tree
/
Copy pathncu_template.ini
More file actions
175 lines (158 loc) · 9.32 KB
/
Copy pathncu_template.ini
File metadata and controls
175 lines (158 loc) · 9.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# ncu_template.ini — comprehensive GPU metrics for performance analysis
# Updated with extended stall reasons, tensor core breakdown, and Blackwell/Hopper support
# =============================================================================
# CORE OVERVIEW
# =============================================================================
section: "SpeedOfLight"
metrics:
sm__warps_active.avg.pct_of_peak_sustained_active # SM efficiency
smsp__sass_average_branch_targets_threads_uniform.pct # Control-flow uniformity
sm__cycles_active.avg.pct_of_peak_sustained_elapsed # SM cycles active (different from warp active)
sm__sass_inst_executed_per_cycle.avg # IPC - instructions per cycle
# =============================================================================
# WARP STALL REASONS - COMPLETE SET
# =============================================================================
# Primary stall reasons (most common bottlenecks)
section: "StallReasons_Primary"
metrics:
smsp__warp_issue_stalled_barrier_per_warp_active.pct # Barrier synchronization
smsp__warp_issue_stalled_dependency_per_warp_active.pct # Data dependencies
smsp__warp_issue_stalled_memory_throttle_per_warp_active.pct # Memory pipeline full
smsp__warp_issue_stalled_long_scoreboard_per_warp_active.pct # Waiting for L2/DRAM
smsp__warp_issue_stalled_short_scoreboard_per_warp_active.pct # Waiting for L1/shared mem
smsp__warp_issue_stalled_math_pipe_throttle_per_warp_active.pct # Math pipeline congestion
smsp__warp_issue_stalled_imc_miss_per_warp_active.pct # L2/FB miss pressure proxy
# Extended stall reasons (often overlooked but critical)
section: "StallReasons_Extended"
metrics:
smsp__warp_issue_stalled_wait_per_warp_active.pct # Wait stalls - blocked on execution resources
smsp__warp_issue_stalled_mio_throttle_per_warp_active.pct # MIO throttle - memory I/O congestion
smsp__warp_issue_stalled_tex_throttle_per_warp_active.pct # Texture throttle - tex cache pressure
smsp__warp_issue_stalled_drain_per_warp_active.pct # Drain stalls - pipeline draining at barriers
smsp__warp_issue_stalled_lg_throttle_per_warp_active.pct # Local/global throttle - L1/shared pressure
smsp__warp_issue_stalled_no_instruction_per_warp_active.pct # Instruction fetch stalls
smsp__warp_issue_stalled_sleeping_per_warp_active.pct # Intentionally yielded (__nanosleep)
smsp__warp_issue_stalled_membar_per_warp_active.pct # Memory barrier stalls
smsp__warp_issue_stalled_not_selected_per_warp_active.pct # Scheduler didn't select this warp
smsp__warp_issue_stalled_dispatch_stall_per_warp_active.pct # Dispatch unit stalls
smsp__warp_issue_stalled_misc_per_warp_active.pct # Miscellaneous stalls
# =============================================================================
# MEMORY THROUGHPUT & BALANCE
# =============================================================================
section: "Memory"
metrics:
lts__throughput.avg.pct_of_peak_sustained_elapsed # L2 throughput %
lts__t_sectors_aperture_sysmem_op_read.sum
lts__t_sectors_aperture_sysmem_op_write.sum
l1tex__t_bytes.sum
dram__throughput.avg.pct_of_peak_sustained_elapsed # DRAM/HBM throughput %
dram__bytes.sum
dram__bytes_read.sum # DRAM read bytes
dram__bytes_write.sum # DRAM write bytes
smsp__sass_average_data_bytes_per_sector_mem_global_ld.pct # Load coalescing efficiency
smsp__sass_average_data_bytes_per_sector_mem_global_st.pct # Store coalescing efficiency
# =============================================================================
# REGISTER PRESSURE & LOCAL MEMORY SPILLS
# =============================================================================
section: "RegisterPressure"
metrics:
launch__registers_per_thread # Registers per thread
launch__shared_mem_per_block # Shared memory per block
l1tex__t_sectors_pipe_lsu_mem_local_op_ld.sum # Local memory loads (SPILLS!)
l1tex__t_sectors_pipe_lsu_mem_local_op_st.sum # Local memory stores (SPILLS!)
l1tex__t_bytes_pipe_lsu_mem_local_op_ld.sum # Spill load bytes
l1tex__t_bytes_pipe_lsu_mem_local_op_st.sum # Spill store bytes
# =============================================================================
# OCCUPANCY & LAUNCH GEOMETRY
# =============================================================================
section: "Occupancy"
metrics:
sm__maximum_warps_per_active_cu.avg
sm__warps_active.avg
sm__ctas_active.avg
sm__ctas_launched.sum # Total CTAs launched
launch__occupancy_limit_registers # Occupancy limited by registers
launch__occupancy_limit_shared_mem # Occupancy limited by shared mem
launch__occupancy_limit_warps # Occupancy limited by warps
launch__occupancy_limit_blocks # Occupancy limited by blocks
launch__occupancy_per_block_size
launch__block_size
launch__grid_size
# =============================================================================
# TENSOR CORE UTILIZATION - DETAILED BY PRECISION
# =============================================================================
section: "TensorCore_Overview"
metrics:
sm__inst_executed_pipe_tensor.sum # Total tensor instructions
sm__pipe_tensor_cycles_active.avg.pct_of_peak_sustained_elapsed # Tensor pipe active %
# FP16 Tensor Core (HMMA - Half-precision Matrix Multiply Accumulate)
section: "TensorCore_FP16"
metrics:
sm__pipe_tensor_op_hmma_cycles_active.avg.pct_of_peak_sustained_elapsed
sm__inst_executed_pipe_tensor_op_hmma.sum # FP16 tensor ops count
# INT8 Tensor Core (IMMA - Integer Matrix Multiply Accumulate)
section: "TensorCore_INT8"
metrics:
sm__pipe_tensor_op_imma_cycles_active.avg.pct_of_peak_sustained_elapsed
sm__inst_executed_pipe_tensor_op_imma.sum # INT8 tensor ops count
# FP8 Tensor Core (Hopper/Blackwell - available on SM 9.0+)
section: "TensorCore_FP8"
metrics:
sm__inst_executed_pipe_fp8.sum # FP8 instructions (SM 9.0+)
# Double precision MMA (DMMA)
section: "TensorCore_FP64"
metrics:
smsp__sass_thread_inst_executed_op_dfma_pred_on.sum # FP64 FMA ops
smsp__sass_thread_inst_executed_op_dmma_pred_on.sum # FP64 MMA ops
sm__pipe_fp64_cycles_active.avg.pct_of_peak_sustained_elapsed # FP64 pipe utilization
# =============================================================================
# INSTRUCTION MIX & THROUGHPUT
# =============================================================================
section: "InstructionMix"
metrics:
sm__sass_thread_inst_executed_op_ffma_pred_on.sum # FP32 FMA
sm__sass_thread_inst_executed_op_fadd_pred_on.sum # FP32 ADD
sm__sass_thread_inst_executed_op_fmul_pred_on.sum # FP32 MUL
sm__sass_thread_inst_executed_op_fp16_pred_on.sum # FP16 ops
sm__sass_thread_inst_executed_op_fp32_pred_on.sum # FP32 ops
sm__inst_executed.avg.per_cycle_elapsed # Instructions per cycle
smsp__inst_executed_per_warp.ratio # ILP metric
# =============================================================================
# CACHE PERFORMANCE
# =============================================================================
section: "Cache_L1"
metrics:
l1tex__t_sectors_pipe_lsu_mem_global_op_ld_lookup_hit_rate.pct
l1tex__t_sectors_pipe_lsu_mem_global_op_st_lookup_hit_rate.pct
l1tex__data_bank_conflicts_pipe_lsu_mem_shared_op_ld.sum # Shared mem bank conflicts (load)
l1tex__data_bank_conflicts_pipe_lsu_mem_shared_op_st.sum # Shared mem bank conflicts (store)
section: "Cache_L2"
metrics:
lts__t_sectors_op_read_hit_rate.pct
lts__t_sectors_op_write_hit_rate.pct
lts__t_sector_op_atom_hit_rate.pct # Atomic hit rate in L2
# =============================================================================
# ATOMIC OPERATIONS
# =============================================================================
section: "Atomics"
metrics:
lts__t_sectors_op_atom.sum # L2 atomic sectors
l1tex__t_sectors_pipe_lsu_mem_global_op_atom.sum # Global atomic sectors
smsp__sass_thread_inst_executed_op_atom_pred_on.sum # Atomic instructions
# =============================================================================
# SHARED MEMORY
# =============================================================================
section: "SharedMemory"
metrics:
l1tex__data_pipe_lsu_wavefronts_mem_shared_op_ld.sum # Shared mem load wavefronts
l1tex__data_pipe_lsu_wavefronts_mem_shared_op_st.sum # Shared mem store wavefronts
l1tex__t_bytes_pipe_lsu_mem_shared_op_ld.sum # Shared mem load bytes
l1tex__t_bytes_pipe_lsu_mem_shared_op_st.sum # Shared mem store bytes
# =============================================================================
# TIMING
# =============================================================================
section: "Timing"
metrics:
gpu__time_duration.avg
gpu__time_duration.sum
gpc__cycles_elapsed.max # GPC cycles for scaling analysis