h3-blackwell-runtime/benchmarks/gb10-fully-fused-fresh-nsight-summary.json

126 lines
5.1 KiB
JSON
Raw Normal View History

{
"device": "NVIDIA GB10",
"compute_capability": "SM121",
"workload": {
"resolution": [1344, 768],
"frames": 124,
"packed_tokens": 37810,
"block": 24,
"attention": "sage2",
"seed": 440420
},
"configuration": {
"H3_NVFP4_SCALE_BACKEND": "vortex",
"H3_NVFP4_SCALE_VERSION": "1",
"H3_FUSED_ELEMENTWISE": "1",
"H3_NVFP4_MODULATE_FUSION": "1",
"H3_NVFP4_SWIGLU_FUSION": "1",
"H3_SAGE_QKV_LAYOUT": "strided_nhd"
},
"block_24": {
"uninstrumented_module_p50_ms": 458.7751985236537,
"nsight_gpu_span_ms": 465.779616,
"kernel_time_ms": 465.695712,
"kernel_launches": 41,
"inter_kernel_idle_ms": 0.083904,
"average_inter_kernel_idle_us": 2.098,
"maximum_inter_kernel_idle_us": 3.36,
"components": {
"sage2": {"milliseconds": 268.224256, "percent": 57.59646247290334},
"nvfp4_gemms": {"milliseconds": 125.113088, "percent": 26.865844966165376},
"nvfp4_packing": {"milliseconds": 41.526688, "percent": 8.917129131736562},
"norm_and_rope": {"milliseconds": 19.863552, "percent": 4.265349988878575},
"remaining_gate_add": {"milliseconds": 10.940192, "percent": 2.349214673464719},
"other": {"milliseconds": 0.027936, "percent": 0.005998732851428}
},
"producer_detail": {
"modulated_qkv_and_fc1_ms": 13.041792,
"swiglu_fc2_ms": 23.043104,
"attention_output_pack_ms": 5.126112,
"scale_finalize_and_zero_fill_ms": 0.31568,
"standalone_modulation_kernels": 0,
"standalone_swiglu_kernels": 0,
"gate_add_kernels": 2
},
"allocation_and_conversion": {
"positive_self_allocated_bytes_per_block": 8009578496,
"aten_empty_calls_per_block": 44,
"large_layout_copy_kernels": 0,
"explicit_cuda_memcpy_ops": 0,
"remaining_contiguous_calls_per_block": 4,
"remaining_contiguous_shape": [3, 5376],
"remaining_to_copy_calls_per_block": 2,
"note": "Remaining contiguous and to-copy operations are small AdaLN/scalar conversions, not full activation layout materializations."
}
},
"one_warmed_sampling_step": {
"elapsed_seconds": 23.707971603027545,
"gpu_span_seconds": 23.706977664,
"kernel_time_seconds": 23.693982688,
"kernel_launches": 2694,
"inter_kernel_idle_ms": 12.994976,
"average_inter_kernel_idle_us": 4.825,
"maximum_inter_kernel_idle_ms": 6.395168,
"peak_allocated_bytes": 15570401280,
"peak_reserved_bytes": 18538823680,
"explicit_cuda_memcpy_ops": 9,
"explicit_cuda_memcpy_bytes": 15282118,
"explicit_cuda_memcpy_ms": 0.169856,
"components": {
"sage2": {"milliseconds": 13760.566304, "percent": 58.07620645797613},
"nvfp4_gemms": {"milliseconds": 6269.804512, "percent": 26.46158982455656},
"nvfp4_packing": {"milliseconds": 2093.052672, "percent": 8.833688702997335},
"norm_and_rope": {"milliseconds": 987.609696, "percent": 4.168187801117043},
"remaining_gate_add": {"milliseconds": 545.150976, "percent": 2.3007992500817345},
"other": {"milliseconds": 37.798528, "percent": 0.159528965271231}
},
"gpu_metrics": {
"gr_active_average_percent": 99.57,
"sms_active_average_percent": 99.27,
"sm_issue_average_percent": 25.63,
"tensor_active_average_percent": 53.72
}
},
"memory_traffic": {
"measurement_note": "GB10 Nsight exposes no direct physical DRAM-byte counter. L2 requested bytes are measured with lts__t_bytes.sum. The off-chip proxy is 32 bytes times warm-cache L2 read/write miss sectors with Nsight Compute cache control disabled.",
"l2_requested_bytes": {
"total": 320998821280,
"sage2": 166126147104,
"nvfp4_gemms": 132957604576,
"nvfp4_packing": 14638661888,
"norm_and_rope": 4802883392,
"remaining_gate_add": 2472452288
},
"off_chip_request_proxy_bytes": {
"total": 42116618176,
"sage2": 6357343328,
"nvfp4_gemms": 23690363008,
"nvfp4_packing": 7685899232,
"norm_and_rope": 2753536064,
"remaining_gate_add": 1629476544
},
"off_chip_request_proxy_percent": {
"sage2": 15.094619661610697,
"nvfp4_gemms": 56.249442699793654,
"nvfp4_packing": 18.249089230957726,
"norm_and_rope": 6.537885004188424,
"remaining_gate_add": 3.868963403449499
}
},
"decision": {
"time_bottleneck": "Sage2, led by the 246.629 ms attention mainloop in block 24.",
"memory_traffic_bottleneck": "The four NVFP4 GEMMs, with 56.25% of the warm-cache off-chip request proxy.",
"cpu_launch_bottleneck": false,
"next_kernel": "No implementation target is selected solely from the old profile. Any next target must use this fresh split between Sage2 compute time and NVFP4 GEMM memory traffic."
},
"artifacts": [
"benchmarks/gb10-fully-fused-block24-fresh.nsys-rep",
"benchmarks/gb10-fully-fused-one-step-fresh.nsys-rep",
"benchmarks/gb10-fully-fused-block24-fresh-capture.json",
"benchmarks/gb10-fully-fused-block24-fresh-torch.json",
"benchmarks/gb10-fully-fused-one-step-fresh.json",
"benchmarks/gb10-fully-fused-block24-fresh-l2.csv",
"benchmarks/gb10-fully-fused-block24-fresh-l2-misses-warm.csv"
]
}