Hardware we need reports from¶
VMAFx runs on more processors and graphics cards than the project owns. Its GPU code in particular is proven bit-exact on one card per vendor, and the project cannot buy the rest. If you have one of the machines in the table below, one command gives the project a report it cannot produce itself, and you can be credited for it.
What to do¶
- Find your hardware in the table. A row says which package to run.
- Follow that package's section of the tester guide. You build nothing and install no toolchain; you run one container image (or, on a Mac or a Windows PC, one archive) and it prints a JSON report.
- Open a hardware report issue and attach the report. A report with verdict
failis welcome: it is a finding.
If your machine is not in the table, run the container image anyway; it works on any machine with Docker and records the processor it ran on.
The table¶
Each row is a hardware family, the package that tests it, the open row of the project's bug ledger that a report closes, and where the row stands. "Covered" means a project host already measures the family; a report from your machine still repeats the measurement on different silicon and is welcome.
| Hardware family | Run this package | Closes (state row) | Status |
|---|---|---|---|
| Apple M-series, native (M1 to M4 Macs) | macOS bundle | T-TESTER-APPLE-SILICON-EVIDENCE-2026-10-03, the 24 open Metal rows (list) | 1 reported, worst fail |
| Arm without SVE2 (Apple M-series under Docker Desktop, Graviton 2, Ampere Altra, Raspberry Pi 4 and 5) | container image | T-TESTER-APPLE-SILICON-EVIDENCE-2026-10-03 | no report yet |
| Arm with SVE2 (AWS Graviton 4, Azure Cobalt 100, Google Axion) | container image | T-ARM-SIMD-GATES-SVE2-VECTOR-LENGTH-UNVERIFIED-2026-10-02 | no report yet |
| Intel with AVX-512 (Xeon Skylake-SP to Sapphire Rapids and later, Core 11th generation) | container image | T-CPU-AVX512-ZEN5-ONLY-UNVERIFIED-2026-10-02 | no report yet |
| AMD with AVX-512 (Zen 4 and Zen 5: Ryzen 7000 and 9000, EPYC 9004 and 9005) | container image | T-CPU-AVX512-ZEN5-ONLY-UNVERIFIED-2026-10-02 | covered by Ryzen 9 9950X3D (Zen 5) |
| x86 with AVX2 and no AVX-512 (Intel Core 12th to 14th generation, AMD Zen 2 and Zen 3) | container image | T-CPU-AVX2-FMA-NOT-GATED-2026-10-02 | 4 reported, worst pass |
| Windows on x64 (Intel and AMD processors; AVX-512 where the processor has it) | Windows zip | T-TESTER-WINDOWS-NATIVE-EVIDENCE-2026-10-04 | 1 reported, worst pass |
| Windows on Arm (Snapdragon X and other Arm laptops) | Windows zip | T-TESTER-WINDOWS-NATIVE-EVIDENCE-2026-10-04 | no report yet |
| NVIDIA Ampere (A100, GeForce RTX 30 series, RTX A-series) | NVIDIA GPU image | T-CUDA-TWINS-OTHER-ARCHITECTURES-2026-10-03 | 1 reported, worst pass |
| NVIDIA Hopper (H100, H200) | NVIDIA GPU image | T-CUDA-TWINS-OTHER-ARCHITECTURES-2026-10-03 | no report yet |
| NVIDIA Blackwell (B200, GeForce RTX 50 series, Jetson Thor, DGX Spark) | NVIDIA GPU image | T-CUDA-TWINS-OTHER-ARCHITECTURES-2026-10-03 | no report yet |
| NVIDIA Ada (GeForce RTX 40 series) | NVIDIA GPU image | T-CUDA-TWINS-OTHER-ARCHITECTURES-2026-10-03 | covered by RTX 4090 |
| NVIDIA GPU under native Windows (GeForce RTX 30 series or newer, RTX professional cards) | Windows CUDA zip | T-CUDA-WINDOWS-BUILD-NEVER-RUN-ON-A-GPU-2026-10-04 | no report yet |
| AMD CDNA (Instinct MI100, MI200, MI300, MI350) | AMD GPU image | T-HIP-TWINS-OTHER-TARGETS-2026-10-03 | no report yet |
| AMD RDNA3 and RDNA3.5 (Radeon RX 7000, Radeon 780M, 860M, 890M, 8060S) | AMD GPU image | T-HIP-TWINS-OTHER-TARGETS-2026-10-03 | no report yet |
| AMD RDNA4 (Radeon RX 9060 and RX 9070, AI PRO R9700) | AMD GPU image | T-HIP-TWINS-OTHER-TARGETS-2026-10-03 | no report yet |
| AMD RDNA1 (Radeon RX 5700, RX 5600, RX 5500) | AMD GPU image | T-HIP-TWINS-OTHER-TARGETS-2026-10-03 | no report yet |
| AMD RDNA2 (Radeon RX 6000, Steam Deck, Ryzen 7000 graphics) | AMD GPU image | T-HIP-TWINS-OTHER-TARGETS-2026-10-03 | covered by gfx1036 (the small RDNA2 graphics of a Ryzen 7000); a discrete RX 6000 card repeats it |
| Intel Xe-LP and Xe-LPG (UHD 7xx, Iris Xe, Arc graphics of Core Ultra) | Intel GPU image | T-SYCL-ROW-KERNELS-SG16-OTHER-DEVICES-2026-10-02 | 2 reported, worst fail |
| Intel Xe2 (Arc B-series, Lunar Lake) | Intel GPU image | T-SYCL-ROW-KERNELS-SG16-OTHER-DEVICES-2026-10-02 | covered by Arc B580 and Arc Pro B60 (home cluster); 1 reported, worst pass |
| Intel Xe-HPG (Arc A-series) | Intel GPU image | T-SYCL-ROW-KERNELS-SG16-OTHER-DEVICES-2026-10-02 | covered by Arc A380 |
| Intel GPU under native Windows (Arc A- and B-series, Iris Xe, UHD 7xx, Arc graphics of Core Ultra) | Windows SYCL zip | T-SYCL-WINDOWS-BUILD-NEVER-RUN-ON-A-GPU-2026-10-04 | no report yet |
Where the status comes from¶
The table is generated, not hand-kept. scripts/docs/generate-hardware-reports.py reads every report under hardware reports, decides for each report which rows it counts for (the processor's dispatch flags for a CPU row, the GPU family the report measured for a GPU row), and prints the number of reports and the worst verdict. The verdict is the one of the checks the row is about, not the report's overall verdict: a CPU row reads the dispatch and reference equivalence checks, the unit tests, the golden check and whether the package's files match its build (the native macOS row adds the Metal equivalence and the Metal gate, since it closes the Metal rows), and a GPU row reads its device's result. A report whose GPU section fails therefore still counts as a pass for its processor's row. make docs-fragments-check fails when the table is stale. The families, packages and ledger rows come from scripts/docs/hardware-needs.json; the generator refuses a GPU family of the tester image's row maps that has no row there, and a ledger id that does not exist.
A row that says "no report yet" can still have been tested by someone who did not send the report. Only a report in hardware reports counts.
Which machine is whose¶
The project's own hosts, which the "covered" rows name: an RTX 4090 (Ada), an Arc A380 (Xe-HPG), the small RDNA2 graphics of a Ryzen 7000 (gfx1036), a Ryzen 9 9950X3D (Zen 5, AVX-512), and an Arc B580 and an Arc Pro B60 (Xe2) on the maintainer's home cluster. No project host is an Apple Mac, a Windows machine, an Arm server, an Intel processor with AVX-512, or an NVIDIA, AMD or Intel card of another family.