ProprietaryLegal's picture
PLI Labs public snapshot 2026-10-28 (history squashed)
e1acc15
|
Raw History Blame Contribute Delete
4.58 kB

PP3 validation and reproduction

GPU evidence is synthetic, aggregate and hash-bound. No weights, prompts, private captures or generated text were moved. Actual image sampler math was loaded with package-only import shims, avoiding a vLLM engine/platform import; Gumbel, Philox and watermark definitions are the real pinned source files. Watermark execution is forbidden in the experiment.

  • producer-final.json: B1–B4, fixed depth4/5,100 event repetitions of ten graph-replayed selector rounds. Three warmups. Comparator is torch argmax on identical already-conditioned synthetic BF16 logits.
  • gpu-qualification.json: five fixed toy targets, 20K requests each, family chi-square alpha1e-5; p-values .972743/.923190/ .537776/.045524/.600565. Every emitted T0 token and sampled length matches the image's point-mass path (100K paired requests). Checks include sparse full-target tails, disjoint support, equal q, invalidated proposals, ID ties, signed zero, request permutation, NaN/+inf/all-masked logits and tau0.
  • oracle-bridge.json: actual GPU-emitted integer q counts under four synthetic policies passed PP1's exact rational full-target law.
  • CPU tests exercise q corruption/missing mass/CRC, malformed support even on zero-q rows, generation/stale sequence, request ownership, mixed T0/T1 and failed rounds through the real thread/process proxy, pinned overlay mismatch and overwrite refusal, admission guards and cost-input provenance.

The original fixture-cardinality mistake and comparison of undefined sampler padding were corrected to their actual mathematical/API contracts; no production assertion, statistical threshold or skip was relaxed. First full-suite decode failures were fixed at their source. A final review moved RNG execution behind positive-temperature admission. All GPU receipts were rerun after that change. Historical producer-initial/topk files remain explicitly superseded diagnostics.

All CPU commands use required miniconda Python, CUDA hidden, no pytest cache, bytecode disabled and temporary/type caches under designated scratch. The final campaign validation log contains full regression count and the existing optional local-libofl skip; new tests introduce no skips. Strict mypy covers nine new runtime files with explicit Triton JIT boundary stubs. Existing legacy worker/ proxy modules are not claimed newly strict-typed in their entirety. New host APIs are typed; Triton value specialization uses explicit dynamic tensor types.

source ~/.config/ndm/paths.sh
export CUDA_VISIBLE_DEVICES= PYTHONDONTWRITEBYTECODE=1
export OMP_NUM_THREADS=8 MKL_NUM_THREADS=8 OPENBLAS_NUM_THREADS=8
PP3_SCRATCH=/opt/dsv41/campaigns/DSV41-OFFLOAD/scratch/PP3
mkdir -p "$PP3_SCRATCH/tmux"
export TMPDIR="$PP3_SCRATCH" TMUX_TMPDIR="$PP3_SCRATCH/tmux"
/home/operator/miniconda3/bin/python3 -m pytest -q -rs -p no:cacheprovider \
  --basetemp="$PP3_SCRATCH/tests" offload/dspark/spark/tests \
  offload/dspark/probabilistic/tests offload/dspark/probabilistic/pp3/tests
MYPYPATH=offload/dspark/probabilistic/pp3/typings \
  /home/operator/miniconda3/bin/python3 -m mypy --strict --follow-imports=skip \
  --cache-dir="$PP3_SCRATCH/mypy" \
  offload/dspark/worker/sample_policy.py offload/dspark/worker/sampled.py \
  offload/dspark/worker/tools/pp3_probe.py \
  offload/dspark/spark/remote_dspark/sampled_wire.py \
  offload/dspark/spark/remote_dspark/probability_buffers.py \
  offload/dspark/probabilistic/pp3/prepare_verifier.py \
  offload/dspark/probabilistic/pp3/gpu_qualify.py \
  offload/dspark/probabilistic/pp3/estimate.py \
  offload/dspark/probabilistic/pp3/oracle_bridge.py

GPU commands run only on x86host, detached in a private named PP3 tmux, under its bc62df2a nonblocking flock, taskset12–15,28–31/nice19, eight threads,225W. Use the locked wrapper with --qualify or --oracle; ordinary invocation runs the selector probe. It uses the required CPython3.13 interpreter, not production's CPython3.12 environment. Copy code only into x86host PP3 scratch and prepare pinned sampler sources/overlays there. See INTEGRATION.md.

Clean only PP3's own scratch, private test sessions and generated bytecode at close. Do not change a service/power limit, kill a foreign process, push/merge, write memory/SESSION_LOG or touch another lane/window. Reproduction creates fresh evidence; preserve the original measured receipts rather than silently replacing their hashes. The committed source-provenance test checks this run.