Skip to main content

The R9700 does 3D too. Idol in 16.4 seconds.

By: ElioVP
November 6, 2026
Paiton
The Radeon AI PRO R9700 does 3D too: Idol in 16.4 seconds

We've spent plenty of time making the R9700 useful for local language models. But a workstation doesn't have to stop at chat and code. What if the same card could turn a picture into an object you can look around?

That's what Idol, from Sperid Labs, does. Give it one image and it generates a 3D Gaussian splat, including a plausible back that the picture never showed. With Paiton, a complete request takes 16.4 seconds on one Radeon AI PRO R9700. Stock Idol on that same card takes 39.2 seconds: about 2.4× faster, with the same weights, 50 steps and guidance setting.1

For context, Sperid Labs separately reports 19.1 seconds on an RTX 4090. That is an encouraging reference, not a matched cross-vendor test. Here's what we measured, what comes out, and how to try it.

In this article

One picture, a whole object

The header is an illustration; this turntable is a real output from the released Paiton package on one R9700, at 262,144 Gaussians. Left: input generated with FLUX.2 klein 4B. Right: Idol's result from all sides. Original example and provenance.

The output is a standard 3DGS .ply, not a textured polygon mesh. Open it in a Gaussian-splat viewer to explore the object. The unseen sides are generated, not recovered measurements of the original object. That makes this an interesting tool for visual ideas and previews, rather than a replacement for a measured scan.

A quick turntable makes it easier to spot where a character or prop works, and where another input image would help.

From 39.2 to 16.4 seconds

Median of eight images after one warm-up. Each request includes input processing, generation and saving the PLY. One R9700, 262,144 Gaussians, 50 steps, CFG 3.0 and time shift 3.0.

Runtime on one R9700Complete requestMean LPIPS versus stock optimized
Stock Idol, default optimized mode39.22 sReference
Paiton --exact19.45 s0.0027
Paiton default16.44 s0.0039

This is about 58% less waiting than stock. Downloads, startup and the warm-up are outside the timer. Stock uses idol-sdk's optimized PyTorch path on ROCm, not an intentionally slow baseline. The GPU keeps its stock 300 W limit, with no clock, power or fan changes. That limit is not measured energy consumption.1

Most of the work is in the denoiser. Paiton replaces it with a native HIP/C++ runtime for RDNA4 gfx1201; the surrounding pipeline stays on stock idol-sdk and PyTorch. Matrix products remain fp16. The default switches attention to int8 QK and fp8 PV from step 7; --exact keeps fp16 attention throughout.2

How much does that change the result? The release compared eight objects from eight views each against stock renders. Default's mean LPIPS was 0.0039, versus 0.0027 for exact and 0.0026 for stock optimized versus non-optimized. Lower means closer. Default also cleared the release's worst-image PSNR threshold: 34.63 dB against a 33 dB minimum.1

That's a bounded quality check, not a check of every future output. --exact stays near stock's own implementation differences; it does not promise identical bits or bit-reproducibility between runs. Peak PyTorch-reserved GPU memory was 9.6 GiB for both Paiton profiles, versus 10.7 GiB for stock. Those are not whole-device measurements or qualification of smaller GPUs.

Where the R9700 lands

R9700 measurements: ElioVP. Other GPUs: Sperid Labs' model card. Both report 50 steps, 262,144 Gaussians and medians over eight images, but these are separate measurements, not one controlled hardware comparison.

GPU and runtimeRequestSource
H100 80 GB, variant unspecified6.7 sSperid Labs
RTX 509014.1 sSperid Labs
R9700, Paiton default16.44 sElioVP
L40S16.6 sSperid Labs
RTX 409019.1 sSperid Labs
R9700, stock Idol39.22 sElioVP
RTX 3080 10 GB46.2 sSperid Labs

At these published timings, the R9700 delivers about 86% of the RTX 5090's calculated request throughput. It sits close to the L40S, although a difference this small across separate setups is not a reliable ranking.3

What about the hardware budget?

Calculated as 3,600 ÷ request seconds ÷ assumed GPU price × 1,000. An illustrative GPU-only comparison, not an hour-long throughput test. Host costs, energy and services are excluded.

GPUAssumed price, USDCalculated assets/hour per $1,000
R9700, Paiton default$1,900115.3
RTX 3080 10 GB$710109.7
RTX 5090$3,30077.4
RTX 4090$4,80039.3
L40S$7,57028.6
H100 80 GB$31,00017.3

These are the published README's November 2026 price assumptions, not independently verified lowest available prices. The H100 price is for PCIe hardware, while the upstream timing does not specify its variant. Treat that row as especially approximate.2

Under the $1,900 and $4,800 assumptions, the R9700 costs about 40% of the RTX 4090. Prices can move the value ranking: the RTX 3080 is already close here. Use your actual quote, especially if you already own a suitable GPU.

Try it on your R9700

You need Linux, Docker, a working AMD driver and the tested R9700. Accept the DINOv3 license on Hugging Face first, then supply a token for that account. Keep real tokens private; hf_... below is only a placeholder.2

docker pull ghcr.io/eliovp/paiton-vllm-plugin:idol-rdna4-v1.0.0

export HF_TOKEN=hf_...
mkdir -p "$HOME/paiton-idol/models" "$HOME/paiton-idol/outputs"
docker run --rm --device /dev/kfd --device /dev/dri --group-add "$(stat -c '%g' /dev/kfd)" \
  -e HF_TOKEN -v "$HOME/paiton-idol/models:/models" -v "$HOME/paiton-idol/outputs:/outputs" -v "$PWD:/inputs:ro" \
  ghcr.io/eliovp/paiton-vllm-plugin:idol-rdna4-v1.0.0 generate /inputs/photo.png --mode real

Put photo.png in your current directory. Use --mode synthetic for renders or generated images, as in the benchmark. Append --exact to retain fp16 attention. Defaults are 50 steps, CFG 3.0, seed 42 and 262,144 Gaussians.

The first run downloads the weights; subsequent runs reuse the model directory. Results appear in $HOME/paiton-idol/outputs: a .ply, the prepared _input.png and a _camera.json file. For a fixed container reference, the public tag resolved on 6 November 2026 to this registry digest:

ghcr.io/eliovp/paiton-vllm-plugin@sha256:7939b4e0bcacf49bcce51d71892915eda802ad2f3724ef61e06e1bc7a77b4e5d

Use that reference instead of the tag in both Docker commands to pin the image. The public release guide documents the launcher and downloads.

Package code and the distributed native runtime are Apache-2.0; Paiton's compiler remains proprietary. Idol and the FLUX.2 klein VAE have Apache-2.0 terms, while DINOv3 retains its separate license. Weights download separately.4

Another useful job for the same local workstation. Explore Paiton, our local image-generation work, or Sovereign AI for keeping these workflows on infrastructure you control.

Sources

  1. Idol release benchmark and quality record.
  2. Paiton Idol setup, runtime details and published price assumptions.
  3. Sperid Labs Idol model card, reviewed revision.
  4. Runtime boundaries and third-party licenses.