LinuxCommandLibrary

intel_upload_blit_small

Upload small blits using Intel graphics

SYNOPSIS

intel_upload_blit_small [<size>] [<iters>]

PARAMETERS

size
    Buffer size in bytes (default: 256, range: 64-4096)

iters
    Number of iterations (default: 10000)

-h, --help
    Display usage information

-v, --verbose
    Enable verbose output with per-iteration stats

DESCRIPTION

intel_upload_blit_small is a microbenchmark utility from Intel's intel-gpu-tools suite, designed to test the performance of small data uploads to GPU memory using blit (block image transfer) operations on Intel graphics hardware.

It focuses on low-volume transfers, simulating scenarios like small texture uploads or command buffer writes common in graphics workloads. The tool allocates a small CPU buffer, copies data to it, and uses the i915 DRM driver's blitcopy ioctl to transfer it to GPU memory repeatedly.

Key metrics include transfer latency, achieved bandwidth (MB/s), and consistency across iterations. This helps developers validate driver optimizations, detect regressions in kernel updates, and compare hardware generations. It's particularly useful for power-constrained or embedded Intel GPUs where small transfers dominate.

Built as part of the IGT (Intel Graphics Tester) framework, it requires a running X server or DRM render node and runs best on bare metal with minimal interference. Output is simple text/CSV for easy parsing in automated testing pipelines.

CAVEATS

Must run with DRM permissions (often as root); sensitive to CPU/GPU contention.
Results inaccurate under heavy system load or thermal throttling.
Intel i915 driver only; GPU must support blitcopy.

EXAMPLE OUTPUT

iters: 10000
size: 256 B
avg latency: 1.2 us
bandwidth: 210 MB/s
min/max: 1.0/1.5 us

BUILD/INSTALL

From intel-gpu-tools: meson compile -C build tests/i915 intel_upload_blit_small
Requires libdrm, cairo-gl.

USAGE TIP

sudo ./intel_upload_blit_small 512 50000 > results.csv for logging.

HISTORY

Developed as part of intel-gpu-tools ~2015 for i915 GEM testing. Enhanced in IGT 1.0+ with kernel 4.4+ DRM APIs for better accuracy.

SEE ALSO

gem_exec_blit(1), igt(7), intel_gpu_top(1), drm_info(1)

Copied to clipboard