Skip to content

RTX 4080 OPD developer workload

This workload measures OPD update timing, memory use and interruption recovery on an RTX 4080. The verl-opd-v0.8-single-gpu-v1 run consumes 32 distinct prompts across eight rollout, teacher-scoring and update cycles.

Three aligned panels show median phase time, labelled throughput and peak reserved VRAM for the RTX 4080 developer workload. The run consumed 32 distinct prompts, completed eight updates at 3.1914 GiB peak reserved VRAM, and had no OOM downshifts.

Measured recipe

Field Exact value
GPU 1× NVIDIA GeForce RTX 4080, 15.992 GiB
Student Qwen3-0.6B, pinned commit, NF4 + LoRA r8/alpha16
Teacher Qwen3-1.7B, pinned commit, NF4
Data 64 distinct structured prompts; first 32 consumed
Bounds 128 prompt tokens, 64 response tokens
Logical / rollout / update batch 4 / 4 / 1
Objective reward-free forward_kl_topk, top-k 32, token mean
Schedule 8 current-policy rollout/scoring/update cycles

The uninterrupted run reached its first rollout in 19.0015 seconds and its first update in 22.0412 seconds, including 9.0802 seconds of cold construction. Across cycles 2–8, median phase times were 9.7200 seconds for rollout, 0.4864 seconds for teacher scoring and 2.3260 seconds for the actor update. Median rates were 26.34 rollout tokens/s, 526.32 teacher-scored positions/s and 110.06 update positions/s.

Peak allocated/reserved VRAM was 2.3033/3.1914 GiB. The runtime retained physical rollout batch 4 throughout, with zero generation downshifts and zero projection-chunk OOM retries. The final teacher cache was 90,727 bytes, the checkpoint 27,649,609 bytes, the exported PEFT adapter 9,213,148 bytes and the complete uninterrupted run 65,065,194 bytes.

Interruption and resume

A matched execution stopped after update 4, wrote a transactional checkpoint, constructed a fresh trainer, loaded in 8.2339 seconds and completed updates 5–8. The resumed run consumed the same ordered 32 prompts. Its trajectories, adapter tensors and optimizer tensors were byte-identical to the uninterrupted run, and every training-state field matched. Only resolved_config_digest differs by design because it binds the distinct run id.

The complete paired workload took 235.49 seconds—0.065 GPU hours—and stayed within the preregistered 14.5 GiB and 4 GPU-hour limits. The machine-readable record is rtx4080-verl-opd-developer-v1.json, and run_verl_opd_reference_workload.py reconstructs the dataset, plan, uninterrupted run and resumed run.

Second fully measured model pair

Pinned Apache-2.0 SmolLM2-360M/1.7B snapshots now have a separate full systems recipe: 32 distinct prompts, eight updates, exact interruption/resume, PEFT reload and materialized scale-out validation. See the SmolLM2 developer workload. The earlier one-update compatibility smoke stays immutable as historical evidence.

Scope

Measured endpoints are timing, memory, artifact reload and exact recovery for two pinned model pairs on the same one-GPU, forward-top-k profile. Task quality, alignment, preference, safety, method comparisons and distributed execution were not evaluated. See the consolidated evidence scope.