69 lines
3 KiB
JSON
69 lines
3 KiB
JSON
{
|
|
"device": "NVIDIA GB10",
|
|
"compute_capability": "SM121",
|
|
"workload": {
|
|
"resolution": [1344, 768],
|
|
"frames": 124,
|
|
"packed_tokens": 37810,
|
|
"block": 24,
|
|
"attention": "sage2",
|
|
"seed": 440420
|
|
},
|
|
"capture": {
|
|
"tool": "Nsight Systems 2025.3.2",
|
|
"scope": "one warmed H3 block between cudaProfilerStart and cudaProfilerStop",
|
|
"fused_elementwise": true,
|
|
"runtime_kernel_launches": 53,
|
|
"cudaLaunchKernel_calls": 45,
|
|
"cuLaunchKernelEx_calls": 8
|
|
},
|
|
"component1_residual": {
|
|
"modulation_launches": 2,
|
|
"modulation_total_ms": 9.5432,
|
|
"gate_add_launches": 2,
|
|
"gate_add_total_ms": 10.936032,
|
|
"unfused_modulation_gate_or_add_launches": 0,
|
|
"conclusion": "The four fused kernels perform substantial tensor traffic and are not launch-bound. Eliminate that traffic only at adjacent NVFP4 boundaries."
|
|
},
|
|
"nvfp4": {
|
|
"launches": 32,
|
|
"gemm_launches": 4,
|
|
"gemm_total_ms": 162.339136,
|
|
"activation_pack_launches": 4,
|
|
"activation_pack_total_ms": 13.121248,
|
|
"absmax_partial_launches": 4,
|
|
"absmax_partial_total_ms": 10.767616,
|
|
"scale_finalize_launches": 4,
|
|
"scale_finalize_total_ms": 0.013536,
|
|
"block_scale_zero_launches": 4,
|
|
"block_scale_zero_total_ms": 0.292992,
|
|
"small_scale_conversion_launches": 12,
|
|
"intermediate_materialization_bytes_across_four_projections": 7732981760,
|
|
"conclusion": "Scale discovery, activation packing, buffer initialization, GEMM, and output allocation remain separate. The global scale dependency requires an explicit synchronization design in any exact fused implementation."
|
|
},
|
|
"other_boundaries": {
|
|
"qkv_and_attention_layout_copy_launches": 4,
|
|
"qkv_and_attention_layout_copy_total_ms": 105.83168,
|
|
"swiglu_silu_total_ms": 9.390784,
|
|
"swiglu_multiply_total_ms": 14.38736
|
|
},
|
|
"native_pack_validation": {
|
|
"initial_finding": "The previous width-specific block-scale swizzle failed for the 7168-feature attention output projection while QDATA remained exact.",
|
|
"fix": "Replaced width-specific indexing with the general 128-row by 4-scale-column tiled offset.",
|
|
"validated_feature_widths": [5376, 7168, 14336],
|
|
"qdata_difference_count": 0,
|
|
"block_scale_difference_count": 0,
|
|
"linear_output_max_abs_difference": 0.0,
|
|
"deployment_decision": "Do not enable the standalone native packer for performance; it is not consistently faster than Comfy packing. Use it as exact infrastructure for the fused prototype."
|
|
},
|
|
"validation": {
|
|
"deployed_tests": "33 passed",
|
|
"new_regression": "Comfy packed QDATA and block-scale identity at feature widths 5376, 7168, and 14336"
|
|
},
|
|
"source_artifacts": [
|
|
"benchmarks/gb10-nvfp4-component2-profile-1344x768-124f-seed440420.json",
|
|
"benchmarks/gb10-nvfp4-pack-parity-component2-fixed-1344x768-124f-seed440420.json",
|
|
"benchmarks/gb10-nvfp4-native-fixed-component2-1344x768-124f-seed440420.json",
|
|
"benchmarks/gb10-fused-block-residual-profile-component2-1344x768-124f-seed440420.json"
|
|
]
|
|
}
|