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)


