intel_upload_blit_large_gtt
Debug tool for Intel graphics, large memory
SYNOPSIS
intel_upload_blit_large_gtt [--help] [--run-subtest
PARAMETERS
-h, --help
Display usage information and available options
--run-subtest
Execute a specific subtest (e.g., 'large-gtt')
--timeout
Set maximum test runtime
Number of upload iterations (default: 1)
DESCRIPTION
The intel_upload_blit_large_gtt command is a specialized diagnostic tool from the Intel GPU tools suite, used for testing the Direct Rendering Manager (DRM) and Graphics Execution Manager (GEM) subsystems on Intel graphics hardware.
It performs high-volume blit (bit-block transfer) operations to upload large data buffers directly into GPU memory via the Graphics Translation Table (GTT) aperture. This stresses the large memory mapping capabilities, helping identify issues like GPU hangs, memory corruption, or performance bottlenecks in CPU-to-GPU data transfers.
Typically invoked during graphics driver development, QA testing, or debugging kernel regressions, it simulates real-world workloads exceeding typical buffer sizes to verify fallback mechanisms and aperture management. Output includes timing statistics, error counts, and pass/fail status for iterations.
Part of the intel-gpu-tools package, it's often run in automated test environments like IGT (Intel Graphics Tester).
CAVEATS
Requires Intel i915 DRM driver and hardware support for large GTT mappings.
May cause GPU hangs on faulty hardware/drivers; run in isolated environment.
High memory/CPU usage; not for production systems.
EXAMPLE USAGE
./intel_upload_blit_large_gtt 100
Runs 100 iterations of large GTT blit uploads.
EXPECTED OUTPUT
PASS/FAIL status with metrics like 'Time: 1.23s, Throughput: 2.5 GB/s'.
HISTORY
Introduced in Intel GPU tools around 2014-2015 as part of IGT suite expansions for Haswell/Broadwell testing. Evolved with Skylake+ for enhanced aperture testing; actively maintained in intel-gpu-tools git repository for Linux kernel graphics validation.
SEE ALSO
igt(7), intel_gpu_top(1), drm_info(1), gem_exec_big(1)


