e8b7f4f064
Two new evaluation plots for §3 GEMM, both using the composite window
as the denominator (the up-front tl.load of A in load_ref is therefore
excluded — only HBM traffic and compute inside the composite count):
- gemm_hbm_bw_util.png: per-PE HBM bandwidth utilization against the
256 GB/s per-PE ceiling. Answers "is this workload memory-bound on
this configuration?" — small/single-tile shapes sit at 22–46%
(pipeline-fill-limited), large or output-write-dominated shapes
saturate (≥85%).
- gemm_per_pe_tflops.png: per-PE GEMM throughput against the 8 TFLOP/s
engine peak. The deep-K K=3072 load_ref case lands at
7.18 TFLOP/s (~90% of peak) — the configuration's clean win.
ref_ref at the same shape drops to 3.83 TFLOP/s because the second
operand doubles HBM pressure and the kernel hits the BW ceiling.
The variant gap on this chart is the operational cost of NOT
pre-staging the activation.
Both charts compare two operand-staging variants on every shape:
load_ref ("activation pre-staged", weight-only HBM streaming) and
ref_ref (both A and W streamed from HBM). load_load is omitted —
with both operands pre-staged the composite carries no HBM traffic
and the BW metric collapses to 0.
Analytic / measured peak unified to the single hardware spec
(8.0 TFLOP/s = 8000 flops/ns). T_STAGE is now derived as
tile_flops / peak (= 16.384 ns for the 32×64×32 tile) rather than
the previous hardcoded 16 ns, so MAC efficiency and per-PE TFLOPS%
share the same denominator and never disagree. Side effect: max
analytic-vs-measured gap tightens from 2.2 ppt to 1.4 ppt across
the sweep.
§3 Results restructured: lead with the two new evaluation plots
(BW saturation, achieved throughput), then the MAC-utilization
analytic-vs-measured chart serves as the validation step, then the
per-stage engine wall-clock as the supporting diagnostic. §3
Analysis updated to use the load_ref / ref_ref contrast as the
hardware-software boundary line that motivates the GQA kernel of §5.
§2.4 Accuracy claim updated to match: GEMM analytic-vs-measured
agreement is now "within 1.4 ppt across every swept shape", from
~7.7% at single-tile up to ~90% at K=3072. Subtitle/title vertical
stacking glitch in the matplotlib charts fixed in passing.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1636 lines
39 KiB
JSON
1636 lines
39 KiB
JSON
{
|
|
"tile_sizes": {
|
|
"M": 32,
|
|
"K": 64,
|
|
"N": 32
|
|
},
|
|
"engines": [
|
|
"pe_dma",
|
|
"pe_fetch_store",
|
|
"pe_gemm",
|
|
"pe_math"
|
|
],
|
|
"stages": [
|
|
"DMA_READ",
|
|
"DMA_WRITE",
|
|
"FETCH",
|
|
"STORE",
|
|
"GEMM",
|
|
"MATH"
|
|
],
|
|
"variants": [
|
|
"ref_ref",
|
|
"load_ref",
|
|
"load_load"
|
|
],
|
|
"rows": [
|
|
{
|
|
"M": 32,
|
|
"K": 32,
|
|
"N": 32,
|
|
"variant": "ref_ref",
|
|
"flops": 65536,
|
|
"bytes_hbm": 6144,
|
|
"arith_intensity": 10.666666666666666,
|
|
"tile_count_expected": 1,
|
|
"sim_wall_clock_s": 0.112,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 79.0,
|
|
"wall_ns": 79.0,
|
|
"record_count": 3
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 40.0,
|
|
"wall_ns": 40.0,
|
|
"record_count": 2
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 16.384000000000015,
|
|
"wall_ns": 16.384000000000015,
|
|
"record_count": 1
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 58.0,
|
|
"wall_ns": 58.0,
|
|
"record_count": 2
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 21.0,
|
|
"wall_ns": 21.0,
|
|
"record_count": 1
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 32.0,
|
|
"wall_ns": 32.0,
|
|
"record_count": 1
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 8.0,
|
|
"wall_ns": 8.0,
|
|
"record_count": 1
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 16.384000000000015,
|
|
"wall_ns": 16.384000000000015,
|
|
"record_count": 1
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 135.38400000000001,
|
|
"composite_window_ns": 135.38400000000001
|
|
},
|
|
{
|
|
"M": 32,
|
|
"K": 32,
|
|
"N": 32,
|
|
"variant": "load_ref",
|
|
"flops": 65536,
|
|
"bytes_hbm": 6144,
|
|
"arith_intensity": 10.666666666666666,
|
|
"tile_count_expected": 1,
|
|
"sim_wall_clock_s": 0.108,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 71.0,
|
|
"wall_ns": 71.0,
|
|
"record_count": 3
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 40.0,
|
|
"wall_ns": 40.0,
|
|
"record_count": 2
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 16.384000000000015,
|
|
"wall_ns": 16.384000000000015,
|
|
"record_count": 1
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 29.0,
|
|
"wall_ns": 29.0,
|
|
"record_count": 1
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 21.0,
|
|
"wall_ns": 21.0,
|
|
"record_count": 1
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 32.0,
|
|
"wall_ns": 32.0,
|
|
"record_count": 1
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 8.0,
|
|
"wall_ns": 8.0,
|
|
"record_count": 1
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 16.384000000000015,
|
|
"wall_ns": 16.384000000000015,
|
|
"record_count": 1
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 171.394,
|
|
"composite_window_ns": 106.38400000000001
|
|
},
|
|
{
|
|
"M": 32,
|
|
"K": 32,
|
|
"N": 32,
|
|
"variant": "load_load",
|
|
"flops": 65536,
|
|
"bytes_hbm": 6144,
|
|
"arith_intensity": 10.666666666666666,
|
|
"tile_count_expected": 1,
|
|
"sim_wall_clock_s": 0.105,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 63.0,
|
|
"wall_ns": 63.0,
|
|
"record_count": 3
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 40.0,
|
|
"wall_ns": 40.0,
|
|
"record_count": 2
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 16.384000000000015,
|
|
"wall_ns": 16.384000000000015,
|
|
"record_count": 1
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 21.0,
|
|
"wall_ns": 21.0,
|
|
"record_count": 1
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 32.0,
|
|
"wall_ns": 32.0,
|
|
"record_count": 1
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 8.0,
|
|
"wall_ns": 8.0,
|
|
"record_count": 1
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 16.384000000000015,
|
|
"wall_ns": 16.384000000000015,
|
|
"record_count": 1
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 183.394,
|
|
"composite_window_ns": 77.38400000000001
|
|
},
|
|
{
|
|
"M": 32,
|
|
"K": 64,
|
|
"N": 32,
|
|
"variant": "ref_ref",
|
|
"flops": 131072,
|
|
"bytes_hbm": 10240,
|
|
"arith_intensity": 12.8,
|
|
"tile_count_expected": 1,
|
|
"sim_wall_clock_s": 0.169,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 79.0,
|
|
"wall_ns": 79.0,
|
|
"record_count": 3
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 40.0,
|
|
"wall_ns": 40.0,
|
|
"record_count": 2
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 16.384000000000015,
|
|
"wall_ns": 16.384000000000015,
|
|
"record_count": 1
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 58.0,
|
|
"wall_ns": 58.0,
|
|
"record_count": 2
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 21.0,
|
|
"wall_ns": 21.0,
|
|
"record_count": 1
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 32.0,
|
|
"wall_ns": 32.0,
|
|
"record_count": 1
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 8.0,
|
|
"wall_ns": 8.0,
|
|
"record_count": 1
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 16.384000000000015,
|
|
"wall_ns": 16.384000000000015,
|
|
"record_count": 1
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 135.38400000000001,
|
|
"composite_window_ns": 135.38400000000001
|
|
},
|
|
{
|
|
"M": 32,
|
|
"K": 64,
|
|
"N": 32,
|
|
"variant": "load_ref",
|
|
"flops": 131072,
|
|
"bytes_hbm": 10240,
|
|
"arith_intensity": 12.8,
|
|
"tile_count_expected": 1,
|
|
"sim_wall_clock_s": 0.163,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 79.0,
|
|
"wall_ns": 79.0,
|
|
"record_count": 3
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 40.0,
|
|
"wall_ns": 40.0,
|
|
"record_count": 2
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 16.384000000000015,
|
|
"wall_ns": 16.384000000000015,
|
|
"record_count": 1
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 29.0,
|
|
"wall_ns": 29.0,
|
|
"record_count": 1
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 21.0,
|
|
"wall_ns": 21.0,
|
|
"record_count": 1
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 32.0,
|
|
"wall_ns": 32.0,
|
|
"record_count": 1
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 8.0,
|
|
"wall_ns": 8.0,
|
|
"record_count": 1
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 16.384000000000015,
|
|
"wall_ns": 16.384000000000015,
|
|
"record_count": 1
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 179.394,
|
|
"composite_window_ns": 106.38400000000001
|
|
},
|
|
{
|
|
"M": 32,
|
|
"K": 64,
|
|
"N": 32,
|
|
"variant": "load_load",
|
|
"flops": 131072,
|
|
"bytes_hbm": 10240,
|
|
"arith_intensity": 12.8,
|
|
"tile_count_expected": 1,
|
|
"sim_wall_clock_s": 0.104,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 79.0,
|
|
"wall_ns": 79.0,
|
|
"record_count": 3
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 40.0,
|
|
"wall_ns": 40.0,
|
|
"record_count": 2
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 16.384000000000015,
|
|
"wall_ns": 16.384000000000015,
|
|
"record_count": 1
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 21.0,
|
|
"wall_ns": 21.0,
|
|
"record_count": 1
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 32.0,
|
|
"wall_ns": 32.0,
|
|
"record_count": 1
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 8.0,
|
|
"wall_ns": 8.0,
|
|
"record_count": 1
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 16.384000000000015,
|
|
"wall_ns": 16.384000000000015,
|
|
"record_count": 1
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 191.394,
|
|
"composite_window_ns": 77.38400000000001
|
|
},
|
|
{
|
|
"M": 32,
|
|
"K": 128,
|
|
"N": 32,
|
|
"variant": "ref_ref",
|
|
"flops": 262144,
|
|
"bytes_hbm": 18432,
|
|
"arith_intensity": 14.222222222222221,
|
|
"tile_count_expected": 2,
|
|
"sim_wall_clock_s": 0.162,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 158.995,
|
|
"wall_ns": 98.0,
|
|
"record_count": 5
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 72.0,
|
|
"wall_ns": 56.0,
|
|
"record_count": 3
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 33.152000000000044,
|
|
"wall_ns": 32.76800000000003,
|
|
"record_count": 2
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 137.995,
|
|
"wall_ns": 77.0,
|
|
"record_count": 4
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 21.0,
|
|
"wall_ns": 21.0,
|
|
"record_count": 1
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 64.0,
|
|
"wall_ns": 48.0,
|
|
"record_count": 2
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 8.0,
|
|
"wall_ns": 8.0,
|
|
"record_count": 1
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 33.152000000000044,
|
|
"wall_ns": 32.76800000000003,
|
|
"record_count": 2
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 154.76800000000003,
|
|
"composite_window_ns": 154.76800000000003
|
|
},
|
|
{
|
|
"M": 32,
|
|
"K": 128,
|
|
"N": 32,
|
|
"variant": "load_ref",
|
|
"flops": 262144,
|
|
"bytes_hbm": 18432,
|
|
"arith_intensity": 14.222222222222221,
|
|
"tile_count_expected": 2,
|
|
"sim_wall_clock_s": 0.183,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 139.995,
|
|
"wall_ns": 111.0,
|
|
"record_count": 4
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 72.0,
|
|
"wall_ns": 56.0,
|
|
"record_count": 3
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 33.152000000000044,
|
|
"wall_ns": 32.76800000000003,
|
|
"record_count": 2
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 73.995,
|
|
"wall_ns": 45.0,
|
|
"record_count": 2
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 21.0,
|
|
"wall_ns": 21.0,
|
|
"record_count": 1
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 64.0,
|
|
"wall_ns": 48.0,
|
|
"record_count": 2
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 8.0,
|
|
"wall_ns": 8.0,
|
|
"record_count": 1
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 33.152000000000044,
|
|
"wall_ns": 32.76800000000003,
|
|
"record_count": 2
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 211.77800000000002,
|
|
"composite_window_ns": 122.76800000000003
|
|
},
|
|
{
|
|
"M": 32,
|
|
"K": 128,
|
|
"N": 32,
|
|
"variant": "load_load",
|
|
"flops": 262144,
|
|
"bytes_hbm": 18432,
|
|
"arith_intensity": 14.222222222222221,
|
|
"tile_count_expected": 2,
|
|
"sim_wall_clock_s": 0.106,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 112.0,
|
|
"wall_ns": 107.0,
|
|
"record_count": 3
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 87.995,
|
|
"wall_ns": 56.0,
|
|
"record_count": 3
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 33.152000000000044,
|
|
"wall_ns": 32.76800000000003,
|
|
"record_count": 2
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 21.0,
|
|
"wall_ns": 21.0,
|
|
"record_count": 1
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 79.995,
|
|
"wall_ns": 48.0,
|
|
"record_count": 2
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 8.0,
|
|
"wall_ns": 8.0,
|
|
"record_count": 1
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 33.152000000000044,
|
|
"wall_ns": 32.76800000000003,
|
|
"record_count": 2
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 223.77800000000002,
|
|
"composite_window_ns": 93.76800000000003
|
|
},
|
|
{
|
|
"M": 32,
|
|
"K": 128,
|
|
"N": 128,
|
|
"variant": "ref_ref",
|
|
"flops": 1048576,
|
|
"bytes_hbm": 49152,
|
|
"arith_intensity": 21.333333333333332,
|
|
"tile_count_expected": 8,
|
|
"sim_wall_clock_s": 0.177,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 1798.8600000000001,
|
|
"wall_ns": 339.0,
|
|
"record_count": 20
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 341.3119999999999,
|
|
"wall_ns": 160.0,
|
|
"record_count": 12
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 135.29600000000028,
|
|
"wall_ns": 131.07200000000012,
|
|
"record_count": 8
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 1703.8600000000001,
|
|
"wall_ns": 269.0,
|
|
"record_count": 16
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 95.0,
|
|
"wall_ns": 94.0,
|
|
"record_count": 4
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 272.0,
|
|
"wall_ns": 152.0,
|
|
"record_count": 8
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 69.3119999999999,
|
|
"wall_ns": 69.3119999999999,
|
|
"record_count": 4
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 135.29600000000028,
|
|
"wall_ns": 131.07200000000012,
|
|
"record_count": 8
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 354.384,
|
|
"composite_window_ns": 354.384
|
|
},
|
|
{
|
|
"M": 32,
|
|
"K": 128,
|
|
"N": 128,
|
|
"variant": "load_ref",
|
|
"flops": 1048576,
|
|
"bytes_hbm": 49152,
|
|
"arith_intensity": 21.333333333333332,
|
|
"tile_count_expected": 8,
|
|
"sim_wall_clock_s": 0.22,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 819.8600000000001,
|
|
"wall_ns": 256.0,
|
|
"record_count": 13
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 341.3119999999999,
|
|
"wall_ns": 160.0,
|
|
"record_count": 12
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 135.29600000000028,
|
|
"wall_ns": 131.07200000000012,
|
|
"record_count": 8
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 679.8600000000001,
|
|
"wall_ns": 141.0,
|
|
"record_count": 8
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 95.0,
|
|
"wall_ns": 94.0,
|
|
"record_count": 4
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 272.0,
|
|
"wall_ns": 152.0,
|
|
"record_count": 8
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 69.3119999999999,
|
|
"wall_ns": 69.3119999999999,
|
|
"record_count": 4
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 135.29600000000028,
|
|
"wall_ns": 131.07200000000012,
|
|
"record_count": 8
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 315.394,
|
|
"composite_window_ns": 226.38400000000001
|
|
},
|
|
{
|
|
"M": 32,
|
|
"K": 128,
|
|
"N": 128,
|
|
"variant": "load_load",
|
|
"flops": 1048576,
|
|
"bytes_hbm": 49152,
|
|
"arith_intensity": 21.333333333333332,
|
|
"tile_count_expected": 8,
|
|
"sim_wall_clock_s": 0.112,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 283.0,
|
|
"wall_ns": 238.07200000000012,
|
|
"record_count": 6
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 839.252,
|
|
"wall_ns": 152.0,
|
|
"record_count": 12
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 141.82400000000052,
|
|
"wall_ns": 131.07200000000012,
|
|
"record_count": 8
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 96.0,
|
|
"wall_ns": 56.072000000000116,
|
|
"record_count": 4
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 703.8600000000001,
|
|
"wall_ns": 144.0,
|
|
"record_count": 8
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 135.39199999999983,
|
|
"wall_ns": 87.23199999999997,
|
|
"record_count": 4
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 141.82400000000052,
|
|
"wall_ns": 131.07200000000012,
|
|
"record_count": 8
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 418.0820000000001,
|
|
"composite_window_ns": 192.07200000000012
|
|
},
|
|
{
|
|
"M": 32,
|
|
"K": 3072,
|
|
"N": 32,
|
|
"variant": "ref_ref",
|
|
"flops": 6291456,
|
|
"bytes_hbm": 395264,
|
|
"arith_intensity": 15.917098445595855,
|
|
"tile_count_expected": 48,
|
|
"sim_wall_clock_s": 0.2,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 56319.35999999987,
|
|
"wall_ns": 1569.9999999999998,
|
|
"record_count": 97
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 1543.9999999999995,
|
|
"wall_ns": 791.9999999999998,
|
|
"record_count": 49
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 1219.5840000000169,
|
|
"wall_ns": 786.4320000000005,
|
|
"record_count": 48
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 56298.35999999987,
|
|
"wall_ns": 1548.9999999999998,
|
|
"record_count": 96
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 21.0,
|
|
"wall_ns": 21.0,
|
|
"record_count": 1
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 1535.9999999999995,
|
|
"wall_ns": 783.9999999999998,
|
|
"record_count": 48
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 8.0,
|
|
"wall_ns": 8.0,
|
|
"record_count": 1
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 1219.5840000000169,
|
|
"wall_ns": 786.4320000000005,
|
|
"record_count": 48
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 1644.4320000000005,
|
|
"composite_window_ns": 1644.4320000000005
|
|
},
|
|
{
|
|
"M": 32,
|
|
"K": 3072,
|
|
"N": 32,
|
|
"variant": "load_ref",
|
|
"flops": 6291456,
|
|
"bytes_hbm": 395264,
|
|
"arith_intensity": 15.917098445595855,
|
|
"tile_count_expected": 48,
|
|
"sim_wall_clock_s": 0.237,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 20236.359999999866,
|
|
"wall_ns": 1582.9999999999998,
|
|
"record_count": 50
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 1543.9999999999998,
|
|
"wall_ns": 791.9999999999998,
|
|
"record_count": 49
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 1219.584000000017,
|
|
"wall_ns": 786.4320000000007,
|
|
"record_count": 48
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 19434.359999999866,
|
|
"wall_ns": 780.9999999999998,
|
|
"record_count": 48
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 21.0,
|
|
"wall_ns": 21.0,
|
|
"record_count": 1
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 1535.9999999999998,
|
|
"wall_ns": 783.9999999999998,
|
|
"record_count": 48
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 8.0,
|
|
"wall_ns": 8.0,
|
|
"record_count": 1
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 1219.584000000017,
|
|
"wall_ns": 786.4320000000007,
|
|
"record_count": 48
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 1701.4420000000007,
|
|
"composite_window_ns": 876.4320000000005
|
|
},
|
|
{
|
|
"M": 32,
|
|
"K": 3072,
|
|
"N": 32,
|
|
"variant": "load_load",
|
|
"flops": 6291456,
|
|
"bytes_hbm": 395264,
|
|
"arith_intensity": 15.917098445595855,
|
|
"tile_count_expected": 48,
|
|
"sim_wall_clock_s": 0.208,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 2310.0,
|
|
"wall_ns": 1569.9999999999998,
|
|
"record_count": 3
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 19586.359999999877,
|
|
"wall_ns": 792.0,
|
|
"record_count": 49
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 1219.584000000017,
|
|
"wall_ns": 786.4320000000007,
|
|
"record_count": 48
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 21.0,
|
|
"wall_ns": 21.0,
|
|
"record_count": 1
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 19578.359999999877,
|
|
"wall_ns": 784.0,
|
|
"record_count": 48
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 8.0,
|
|
"wall_ns": 8.0,
|
|
"record_count": 1
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 1219.584000000017,
|
|
"wall_ns": 786.4320000000007,
|
|
"record_count": 48
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 2440.442000000001,
|
|
"composite_window_ns": 847.4320000000007
|
|
},
|
|
{
|
|
"M": 8,
|
|
"K": 128,
|
|
"N": 128,
|
|
"variant": "ref_ref",
|
|
"flops": 262144,
|
|
"bytes_hbm": 36864,
|
|
"arith_intensity": 7.111111111111111,
|
|
"tile_count_expected": 8,
|
|
"sim_wall_clock_s": 0.089,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 1798.8600000000001,
|
|
"wall_ns": 339.0,
|
|
"record_count": 20
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 341.3119999999999,
|
|
"wall_ns": 160.0,
|
|
"record_count": 12
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 135.29600000000028,
|
|
"wall_ns": 131.07200000000012,
|
|
"record_count": 8
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 1703.8600000000001,
|
|
"wall_ns": 269.0,
|
|
"record_count": 16
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 95.0,
|
|
"wall_ns": 94.0,
|
|
"record_count": 4
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 272.0,
|
|
"wall_ns": 152.0,
|
|
"record_count": 8
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 69.3119999999999,
|
|
"wall_ns": 69.3119999999999,
|
|
"record_count": 4
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 135.29600000000028,
|
|
"wall_ns": 131.07200000000012,
|
|
"record_count": 8
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 354.384,
|
|
"composite_window_ns": 354.384
|
|
},
|
|
{
|
|
"M": 8,
|
|
"K": 128,
|
|
"N": 128,
|
|
"variant": "load_ref",
|
|
"flops": 262144,
|
|
"bytes_hbm": 36864,
|
|
"arith_intensity": 7.111111111111111,
|
|
"tile_count_expected": 8,
|
|
"sim_wall_clock_s": 0.155,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 795.8600000000001,
|
|
"wall_ns": 232.0,
|
|
"record_count": 13
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 341.3119999999999,
|
|
"wall_ns": 160.0,
|
|
"record_count": 12
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 135.29600000000028,
|
|
"wall_ns": 131.07200000000012,
|
|
"record_count": 8
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 679.8600000000001,
|
|
"wall_ns": 141.0,
|
|
"record_count": 8
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 95.0,
|
|
"wall_ns": 94.0,
|
|
"record_count": 4
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 272.0,
|
|
"wall_ns": 152.0,
|
|
"record_count": 8
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 69.3119999999999,
|
|
"wall_ns": 69.3119999999999,
|
|
"record_count": 4
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 135.29600000000028,
|
|
"wall_ns": 131.07200000000012,
|
|
"record_count": 8
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 291.394,
|
|
"composite_window_ns": 226.38400000000001
|
|
},
|
|
{
|
|
"M": 8,
|
|
"K": 128,
|
|
"N": 128,
|
|
"variant": "load_load",
|
|
"flops": 262144,
|
|
"bytes_hbm": 36864,
|
|
"arith_intensity": 7.111111111111111,
|
|
"tile_count_expected": 8,
|
|
"sim_wall_clock_s": 0.234,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 258.0,
|
|
"wall_ns": 218.07200000000012,
|
|
"record_count": 6
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 839.252,
|
|
"wall_ns": 152.0,
|
|
"record_count": 12
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 141.82400000000052,
|
|
"wall_ns": 131.07200000000012,
|
|
"record_count": 8
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 96.0,
|
|
"wall_ns": 56.072000000000116,
|
|
"record_count": 4
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 703.8600000000001,
|
|
"wall_ns": 144.0,
|
|
"record_count": 8
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 135.39199999999983,
|
|
"wall_ns": 87.23199999999997,
|
|
"record_count": 4
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 141.82400000000052,
|
|
"wall_ns": 131.07200000000012,
|
|
"record_count": 8
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 418.0820000000001,
|
|
"composite_window_ns": 192.07200000000012
|
|
},
|
|
{
|
|
"M": 128,
|
|
"K": 8,
|
|
"N": 128,
|
|
"variant": "ref_ref",
|
|
"flops": 262144,
|
|
"bytes_hbm": 36864,
|
|
"arith_intensity": 7.111111111111111,
|
|
"tile_count_expected": 16,
|
|
"sim_wall_clock_s": 0.119,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 7854.6320000000005,
|
|
"wall_ns": 653.0,
|
|
"record_count": 48
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 1367.9359999999997,
|
|
"wall_ns": 328.384,
|
|
"record_count": 32
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 264.83200000000033,
|
|
"wall_ns": 262.14400000000023,
|
|
"record_count": 16
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 6479.400000000001,
|
|
"wall_ns": 525.0,
|
|
"record_count": 32
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 1375.232,
|
|
"wall_ns": 296.0,
|
|
"record_count": 16
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 804.0,
|
|
"wall_ns": 316.0,
|
|
"record_count": 16
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 563.9359999999997,
|
|
"wall_ns": 280.0,
|
|
"record_count": 16
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 264.83200000000033,
|
|
"wall_ns": 262.14400000000023,
|
|
"record_count": 16
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 653.0,
|
|
"composite_window_ns": 653.0
|
|
},
|
|
{
|
|
"M": 128,
|
|
"K": 8,
|
|
"N": 128,
|
|
"variant": "load_ref",
|
|
"flops": 262144,
|
|
"bytes_hbm": 36864,
|
|
"arith_intensity": 7.111111111111111,
|
|
"tile_count_expected": 16,
|
|
"sim_wall_clock_s": 0.183,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 3779.6320000000005,
|
|
"wall_ns": 418.0,
|
|
"record_count": 33
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 1367.9359999999997,
|
|
"wall_ns": 328.384,
|
|
"record_count": 32
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 264.83200000000033,
|
|
"wall_ns": 262.14400000000023,
|
|
"record_count": 16
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 2383.4000000000005,
|
|
"wall_ns": 269.0,
|
|
"record_count": 16
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 1375.232,
|
|
"wall_ns": 296.0,
|
|
"record_count": 16
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 804.0,
|
|
"wall_ns": 316.0,
|
|
"record_count": 16
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 563.9359999999997,
|
|
"wall_ns": 280.0,
|
|
"record_count": 16
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 264.83200000000033,
|
|
"wall_ns": 262.14400000000023,
|
|
"record_count": 16
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 462.01,
|
|
"composite_window_ns": 397.0
|
|
},
|
|
{
|
|
"M": 128,
|
|
"K": 8,
|
|
"N": 128,
|
|
"variant": "load_load",
|
|
"flops": 262144,
|
|
"bytes_hbm": 36864,
|
|
"arith_intensity": 7.111111111111111,
|
|
"tile_count_expected": 16,
|
|
"sim_wall_clock_s": 0.179,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 858.0,
|
|
"wall_ns": 183.0,
|
|
"record_count": 18
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 4395.175999999999,
|
|
"wall_ns": 324.0,
|
|
"record_count": 32
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 308.224000000002,
|
|
"wall_ns": 262.14400000000023,
|
|
"record_count": 16
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 816.0,
|
|
"wall_ns": 141.0,
|
|
"record_count": 16
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 2431.4000000000005,
|
|
"wall_ns": 272.0,
|
|
"record_count": 16
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 1963.775999999998,
|
|
"wall_ns": 275.616,
|
|
"record_count": 16
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 308.224000000002,
|
|
"wall_ns": 262.14400000000023,
|
|
"record_count": 16
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 511.01,
|
|
"composite_window_ns": 405.0
|
|
},
|
|
{
|
|
"M": 512,
|
|
"K": 512,
|
|
"N": 512,
|
|
"variant": "ref_ref",
|
|
"flops": 268435456,
|
|
"bytes_hbm": 1572864,
|
|
"arith_intensity": 170.66666666666666,
|
|
"tile_count_expected": 2048,
|
|
"sim_wall_clock_s": 1.241,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 104867178.97599977,
|
|
"wall_ns": 67597.00000000001,
|
|
"record_count": 4352
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 1206911.5840000017,
|
|
"wall_ns": 33800.00000000001,
|
|
"record_count": 2304
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 36417.40799998986,
|
|
"wall_ns": 33554.43199999787,
|
|
"record_count": 2048
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 100695823.35999978,
|
|
"wall_ns": 65549.00000000001,
|
|
"record_count": 4096
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 4171355.616000002,
|
|
"wall_ns": 34616.00000000001,
|
|
"record_count": 256
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 1076760.0000000005,
|
|
"wall_ns": 33776.00000000001,
|
|
"record_count": 2048
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 130151.58400000134,
|
|
"wall_ns": 31914.784000000276,
|
|
"record_count": 256
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 36417.40799998986,
|
|
"wall_ns": 33554.43199999787,
|
|
"record_count": 2048
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 67597.00000000001,
|
|
"composite_window_ns": 67597.00000000001
|
|
},
|
|
{
|
|
"M": 512,
|
|
"K": 512,
|
|
"N": 512,
|
|
"variant": "load_ref",
|
|
"flops": 268435456,
|
|
"bytes_hbm": 1572864,
|
|
"arith_intensity": 170.66666666666666,
|
|
"tile_count_expected": 2048,
|
|
"sim_wall_clock_s": 0.742,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 37760375.97599977,
|
|
"wall_ns": 36890.0,
|
|
"record_count": 2305
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 1206911.5840000017,
|
|
"wall_ns": 33800.0,
|
|
"record_count": 2304
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 36417.40799998891,
|
|
"wall_ns": 33554.43199999761,
|
|
"record_count": 2048
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 33586959.359999776,
|
|
"wall_ns": 32781.0,
|
|
"record_count": 2048
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 4171355.616000001,
|
|
"wall_ns": 34616.0,
|
|
"record_count": 256
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 1076760.0000000002,
|
|
"wall_ns": 33776.0,
|
|
"record_count": 2048
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 130151.58400000146,
|
|
"wall_ns": 31914.784000000003,
|
|
"record_count": 256
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 36417.40799998891,
|
|
"wall_ns": 33554.43199999761,
|
|
"record_count": 2048
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 36934.01,
|
|
"composite_window_ns": 34829.0
|
|
},
|
|
{
|
|
"M": 512,
|
|
"K": 512,
|
|
"N": 512,
|
|
"variant": "load_load",
|
|
"flops": 268435456,
|
|
"bytes_hbm": 1572864,
|
|
"arith_intensity": 170.66666666666666,
|
|
"tile_count_expected": 2048,
|
|
"sim_wall_clock_s": 0.406,
|
|
"engines": {
|
|
"pe_dma": {
|
|
"occupancy_ns": 142065.0,
|
|
"wall_ns": 6170.0,
|
|
"record_count": 258
|
|
},
|
|
"pe_fetch_store": {
|
|
"occupancy_ns": 37794382.84800001,
|
|
"wall_ns": 33796.0,
|
|
"record_count": 2304
|
|
},
|
|
"pe_gemm": {
|
|
"occupancy_ns": 838467.5839981049,
|
|
"wall_ns": 33554.43199999738,
|
|
"record_count": 2048
|
|
},
|
|
"pe_math": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"stages": {
|
|
"DMA_READ": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
},
|
|
"DMA_WRITE": {
|
|
"occupancy_ns": 135936.0,
|
|
"wall_ns": 2061.0,
|
|
"record_count": 256
|
|
},
|
|
"FETCH": {
|
|
"occupancy_ns": 33593103.359999776,
|
|
"wall_ns": 32784.0,
|
|
"record_count": 2048
|
|
},
|
|
"STORE": {
|
|
"occupancy_ns": 4201279.488000238,
|
|
"wall_ns": 33632.928,
|
|
"record_count": 256
|
|
},
|
|
"GEMM": {
|
|
"occupancy_ns": 838467.5839981049,
|
|
"wall_ns": 33554.43199999738,
|
|
"record_count": 2048
|
|
},
|
|
"MATH": {
|
|
"occupancy_ns": 0,
|
|
"wall_ns": 0.0,
|
|
"record_count": 0
|
|
}
|
|
},
|
|
"pe_window_ns": 38990.01,
|
|
"composite_window_ns": 34837.0
|
|
}
|
|
]
|
|
} |