GPU Design · All levels

Rasterization & Early-Z: Inputs & Outputs

Inputs & Outputs for Rasterization & Early-Z.

Inputs and outputs contract

Inputs & Outputs for Rasterization & Early-Z centers on raster throughput, early-Z kill rate, and overdraw reduction. The objective is to connect profiler evidence to root-cause mechanism and release-safe action.

Use this as the handoff contract across architecture, kernel, compiler, and silicon teams. Ambiguity here creates expensive late-stage rework.

diagram
INPUTS
  - workload definition and expected KPI target
  - kernel launch geometry, compiler flags, and toolchain versions
  - hardware assumptions: SM count, memory type, clocks, thermal envelope
  - acceptance criteria for throughput, latency tail, and stability

OUTPUTS
  - counter and timeline report with reproducible tags
  - bottleneck classification (compute, memory, fabric, thermal)
  - owner-signed mitigation proposal
  - benchmark rerun summary and release recommendation

Hierarchy map

diagram
GPU MEMORY HIERARCHY — Rasterization & Early-Z

                [ Registers ]
              latency:   1-2 cycles
                     |
                [ Shared/L1 ]
              latency:  20-40 cycles
                     |
                    [ L2 ]
              latency: 150-250 cycles
                     |
             [ HBM/GDDR VRAM ]
              latency: 300ns+ effective

Optimization lens: capacity vs latency

Scheduler map

diagram
WARP SCHEDULER VIEW — Rasterization & Early-Z

cycle ->      0    1    2    3    4
eligible   [W1,W2,W5] [W2] [W2,W7] [W7] [W3,W7]
issued         W1      W2    W7      W7    W3
stall reason    -    dep wait  -   mem wait  -

Scheduler objective: keep issue slots non-empty.
Focus: eligible warp quality

GPU deep dive

Frame-time stability depends on balancing fixed-function stages with programmable shader pressure.

Concept diagram

diagram
GRAPHICS PIPELINE

vertex -> tessellation -> raster -> fragment -> ROP/blend

Metric graph

diagram
FRAME-TIME PRESSURE

fragment shading load  ████████
raster backpressure    █████
ROP/blend stalls       ████

Reports and artifacts

  • stage occupancy timeline

  • early-Z efficiency report

  • ROP queue depth

  • overdraw heatmap

Mini case study

Async compute overlapped with heavy fragment scenes and triggered ROP queue buildup, causing p99 frame spikes.

Debug branches

  • Correlate frame spikes with stage-level queues

  • Validate early-Z effectiveness under real content

  • Isolate graphics-compute arbitration conflicts

Senior review question

Ask: which metric and benchmark pairing proves this topic is truly closed in production context?

Key takeaways

  • Always pair micro-kernel metrics with end-to-end workload impact.

  • Lock toolchain, driver, and launch metadata before comparing performance results.

Common pitfalls

  • Optimizing occupancy without checking memory-system saturation.

  • Comparing profiler captures from different driver or compiler builds.

  • Declaring wins without reproducible accuracy and performance gates.

Handoff explanation

Inputs are not only API parameters or RTL configuration bits. For GPU design, inputs include workload distribution, launch geometry, shader/compiler form, memory layout, clocks, thermal state, SKU target, and runtime policy. Missing any of these makes the same counter mean different things.

Outputs must be decision-ready: raster throughput, early-Z kill rate, and overdraw reduction, the artifact set (raster tile occupancy map, depth-test effectiveness report, and overdraw heatmap), a bottleneck class, owner, expected effect, and regression scope. A handoff that says only "performance improved" is not enough for architecture or silicon signoff.

The safest handoff format is a before/after packet: workload, revisions, counters, traces, root-cause hypothesis, chosen change, rejected alternatives, and rollback criteria.