LinuxCommandLibrary

intel_upload_blit_large

Upload large blit data to Intel graphics

SYNOPSIS

intel_upload_blit_large [options] [size_in_MB]

PARAMETERS

-h, --help
    Display usage information and exit

-d, --device <path>
    Specify DRM device (default: /dev/dri/card0)

-s, --size <MB>
    Buffer size in megabytes (default: 512, max: 4096)

-i, --iterations <num>
    Number of blit iterations (default: 100)

-v, --verbose
    Enable detailed output including per-iteration timings

-b, --batch
    Use batch buffer submission for higher throughput

--engine <rcs|bcd|vebox>
    Select render engine (default: rcs)

DESCRIPTION

The intel_upload_blit_large command is a specialized diagnostic tool from the Intel GPU tools suite, designed to test and benchmark large-scale blit (block image transfer) operations for uploading data to GPU memory on Intel graphics hardware. It simulates high-memory workloads by performing efficient blits of large buffers, helping developers and testers evaluate performance, memory bandwidth, and stability under heavy upload scenarios.

This utility is particularly useful for validating Intel i915 DRM driver features, such as GEM (Graphics Execution Manager) buffer uploads, aperture usage, and GTT (Graphics Translation Table) mappings. It stresses the upload path with oversized surfaces that exceed typical cache sizes, revealing bottlenecks in VRAM allocation or PCIe bandwidth.

Common use cases include regression testing during kernel development, performance tuning for compute workloads (e.g., OpenCL, Vulkan), and debugging issues like hangs or evictions in multi-GPU setups. Output includes timing stats, throughput in GB/s, and error counts, making it invaluable for graphics stack optimization.

Requires a compatible Intel GPU (e.g., Skylake or newer) and access to DRM render nodes. Run as root or with CAP_SYS_ADMIN for full functionality.

CAVEATS

Requires Intel GPU with i915 driver; may cause GPU hangs on faulty hardware. Use --size cautiously to avoid OOM. Not for production use; root privileges often needed for raw ioctl access.

EXAMPLE USAGE

intel_upload_blit_large -s 2048 -i 50 -v
Performs 50 iterations of 2GB blit uploads with verbose stats.

OUTPUT SAMPLE

Throughput: 12.5 GB/s
Avg latency: 1.2ms
Errors: 0

HISTORY

Introduced in intel-gpu-tools 1.9 (circa Linux 4.15, 2018) as part of IGT test suite enhancements for Gen9+ GPUs. Evolved to support Xe architecture in recent versions (post-5.10 kernels).

SEE ALSO

intel_reg(1), gpu_top(1), igt(7), drm_info(1)

Copied to clipboard