Download code/offload/launch/windows/tests/test_pp4_admission_engine.py from ProprietaryLegal/dsv41-sampled-drafting: direct link, hf CLI and curl.
- Browser
- Download file 10.2 kB
-
https://huggingface.co/ProprietaryLegal/dsv41-sampled-drafting/resolve/main/code/offload/launch/windows/tests/test_pp4_admission_engine.py
- Command line
-
hf download hf://ProprietaryLegal/dsv41-sampled-drafting/code/offload/launch/windows/tests/test_pp4_admission_engine.py
-
curl -L -o test_pp4_admission_engine.py https://huggingface.co/ProprietaryLegal/dsv41-sampled-drafting/resolve/main/code/offload/launch/windows/tests/test_pp4_admission_engine.py
10.2 kB
| """CPU checks of real admission seams and separately prepared production sources.""" | |
| from __future__ import annotations | |
| import json | |
| import struct | |
| import sys | |
| import time | |
| import types | |
| from pathlib import Path | |
| from typing import cast | |
| import pytest | |
| import torch | |
| from offload.dspark.probabilistic.pp3 import prepare_verifier as pp3 | |
| from offload.dspark.spark.remote_dspark import client as real_client | |
| from offload.launch.windows import pp4_admission_engine as e | |
| from offload.launch.windows import pp4_admission_prepare as p | |
| from offload.launch.windows import pp4_prepare as base | |
| def seam(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> Path: | |
| monkeypatch.setenv('VLLM_PP4_ADMISSION_RUN', 'owned-run') | |
| monkeypatch.setenv('VLLM_PP4_ROUND_DIR', str(tmp_path)) | |
| e._seen.clear() | |
| return tmp_path | |
| def fault(root: Path, mode: str) -> None: | |
| (root/'FAULT.json').write_text(json.dumps({'id': mode, 'mode': mode, 'run': 'owned-run', 'expires': time.time()+60})) | |
| def test_no_env_means_no_fault_or_torch_import(monkeypatch: pytest.MonkeyPatch) -> None: | |
| monkeypatch.delenv('VLLM_PP4_ADMISSION_RUN', raising=False) | |
| e.client_before(object()); e.client_after(object(), bytearray()); e.invalidate(object(), object()) | |
| assert e.marker() is None | |
| def test_bad_markers_refuse(seam: Path, bad: str) -> None: | |
| fault(seam, 'timeout') | |
| data = json.loads((seam/'FAULT.json').read_text()) | |
| data[{'owner': 'run', 'expiry': 'expires', 'mode': 'mode'}[bad]] = {'owner': 'foreign', 'expiry': 0, 'mode': 'unknown'}[bad] | |
| (seam/'FAULT.json').write_text(json.dumps(data)) | |
| with pytest.raises(ValueError): e.marker() | |
| def test_both_ranks_invalidate_from_one_rank(seam: Path, monkeypatch: pytest.MonkeyPatch, origin: int) -> None: | |
| fault(seam, 'q-rank'+str(origin)) | |
| for rank in (0, 1): | |
| monkeypatch.setattr(torch.distributed, 'get_rank', lambda rank=rank: rank) | |
| def reduce(flag: torch.Tensor, op: object, rank: int = rank) -> None: | |
| assert int(flag.item()) == int(rank == origin) | |
| flag.fill_(1) | |
| monkeypatch.setattr(torch.distributed, 'all_reduce', reduce) | |
| valid = torch.ones(4, dtype=torch.bool) | |
| runner = types.SimpleNamespace(speculator=types.SimpleNamespace(sampled_valid=valid)) | |
| e.invalidate(runner, types.SimpleNamespace(idx_mapping=torch.tensor([1, 3]))) | |
| assert valid.tolist() == [True, False, True, False] | |
| def test_exact_target_only_verifier_coupling(seam: Path, monkeypatch: pytest.MonkeyPatch, corrupt: str) -> None: | |
| fault(seam, 'q-rank0') | |
| monkeypatch.setenv('VLLM_DSPARK_SAMPLED_TOP32', '1') | |
| monkeypatch.setattr(torch.distributed, 'get_rank', lambda: 0) | |
| def verify(draft_logits: object, draft_sampled: torch.Tensor, expanded_local_pos: torch.Tensor) -> tuple[torch.Tensor, torch.Tensor]: | |
| token = 8 if draft_logits is None or corrupt != 'token' else 7 | |
| length = 2 if draft_logits is not None and corrupt == 'length' else 1 | |
| return torch.tensor([[token, 0]]), torch.tensor([length]) | |
| call = e.verify(verify) | |
| if corrupt == 'none': | |
| call(torch.zeros(1), torch.tensor([0, -1]), torch.tensor([0, 1])) | |
| rows = [json.loads(s) for f in seam.glob('*.jsonl') for s in f.read_text().splitlines()] | |
| assert rows[-1]['exact'] and rows[-1]['lengths_one'] | |
| else: | |
| with pytest.raises((ValueError, AssertionError)): | |
| call(torch.zeros(1), torch.tensor([0, 1 if corrupt == 'proposal' else -1]), torch.tensor([0, 1])) | |
| assert __import__('os').environ['VLLM_DSPARK_SAMPLED_TOP32'] == '1' | |
| def test_prepare_keeps_ordinary_receipt_unchanged_and_hooks_actual_client_try(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: | |
| receipt = p.prepare(Path('/opt/dsv41/data/src-image'), tmp_path/'prepared') | |
| ordinary = base.prepare(Path('/opt/dsv41/data/src-image'), tmp_path/'ordinary') | |
| assert ordinary == json.loads((base.ROOT/'offload/dspark/probabilistic/pp4/verifier-k1-receipt.json').read_text()) | |
| assert receipt['admission_only'] is True | |
| runner = (tmp_path/'prepared'/pp3.RUNNER).read_text() | |
| assert runner.index('_pp4_admission.invalidate(self, input_batch)') < runner.index('pp3_valid =') | |
| for name in ('vllm', 'vllm.v1', 'vllm.v1.worker', 'vllm.v1.worker.gpu'): | |
| module = types.ModuleType(name); module.__path__ = [] | |
| monkeypatch.setitem(sys.modules, name, module) | |
| monkeypatch.setitem(sys.modules, 'vllm.v1.worker.gpu.dsv41_pp4_admission', e) | |
| monkeypatch.setitem(sys.modules, real_client.__package__+'.'+p.SEAM.removesuffix('.py'), e) # R16 client seam | |
| # Execute actual composed client with the same imports as production. Fault | |
| # callback raises inside its real TransportTimeout handler, not a fake pass. | |
| module = types.ModuleType(real_client.__name__+'.admission_fixture') | |
| module.__package__ = real_client.__package__ | |
| monkeypatch.setitem(sys.modules, module.__name__, module) | |
| exec(compile((tmp_path/'prepared/remote_dspark/client.py').read_text(), 'prepared-client', 'exec'), module.__dict__) # noqa: S102 -- execute exact separately prepared pinned-source client | |
| assert callable(module.RemoteDraftClient) | |
| assert 'except TransportTimeout:' in (tmp_path/'prepared/remote_dspark/client.py').read_text() | |
| def test_real_timeout_exception_and_late_sequence(seam: Path) -> None: | |
| client = object.__new__(real_client.RemoteDraftClient) | |
| client.session = 7; client.epoch = 1 | |
| fault(seam, 'timeout') | |
| from offload.dspark.spark.remote_dspark.transport import TransportTimeout | |
| with pytest.raises(TransportTimeout): e.client_after(client, bytearray(32)) | |
| fault(seam, 'late-reply') | |
| reply = bytearray(32); struct.pack_into('<Q', reply, 8, 41) | |
| e.client_after(client, reply) | |
| assert struct.unpack_from('<Q', reply, 8)[0] == 40 | |
| e.client_after(client, reply) | |
| assert struct.unpack_from('<Q', reply, 8)[0] == 40 # once only | |
| def test_actual_prepared_client_steps_refuse_then_reconnect(seam: Path, monkeypatch: pytest.MonkeyPatch, mode: str, reason: str) -> None: | |
| import numpy as np | |
| from offload.dspark.spark.remote_dspark import wire | |
| from offload.dspark.spark.remote_dspark.config import RemoteConfig | |
| from offload.dspark.spark.remote_dspark.mock_worker import WorkerCore | |
| from offload.dspark.spark.remote_dspark.transport import RpcClient | |
| # Execute exact prepared client, with an in-memory real protocol worker. | |
| # No socket/listener, mock outcome, or external host call is involved. | |
| p.prepare(Path('/opt/dsv41/data/src-image'), seam/'prepared') | |
| for name in ('vllm', 'vllm.v1', 'vllm.v1.worker', 'vllm.v1.worker.gpu'): | |
| module = types.ModuleType(name); module.__path__ = [] | |
| monkeypatch.setitem(sys.modules, name, module) | |
| monkeypatch.setitem(sys.modules, 'vllm.v1.worker.gpu.dsv41_pp4_admission', e) | |
| monkeypatch.setitem(sys.modules, real_client.__package__+'.'+p.SEAM.removesuffix('.py'), e) # R16 client seam | |
| module = types.ModuleType(real_client.__name__) | |
| module.__package__ = real_client.__package__ | |
| monkeypatch.setitem(sys.modules, module.__name__, module) | |
| exec(compile((seam/'prepared/remote_dspark/client.py').read_text(), 'prepared-client', 'exec'), module.__dict__) # noqa: S102 -- execute exact separately prepared pinned-source client | |
| identity = bytes(range(32)) | |
| hello = wire.Hello(hidden=4, row_bytes=24, drafter_identity=identity) | |
| core = WorkerCore(hello) | |
| class Transport(RpcClient): | |
| def connect(self, timeout_s: float) -> None: pass | |
| def close(self) -> None: pass | |
| def request(self, msg: object, resp_buf: bytearray, timeout_s: float) -> int: | |
| response = core.handle(msg) | |
| assert response is not None | |
| resp_buf[:len(response)] = response | |
| return len(response) | |
| cfg = RemoteConfig.from_env({'VLLM_DSPARK_REMOTE': 'tcp://127.0.0.1:1', 'VLLM_DSPARK_REMOTE_IDENTITY': identity.hex()}) | |
| cls = cast(type[real_client.RemoteDraftClient], module.RemoteDraftClient) | |
| client = cls(cfg, hello, background=False, transport_factory=lambda endpoint: Transport()) | |
| try: | |
| assert client.connect_now() and client.epoch == 1 | |
| fault(seam, mode) | |
| entries = [wire.ReqEntry(0, 1, 0, 2, 3, 2, flags=wire.RF_NEED_DRAFT | wire.RF_NEW_GEN)] | |
| rows = np.ones((2, 24), np.uint8) | |
| def step(seq: int) -> real_client.StepOutcome: | |
| offset = wire.APP_HEADER_SIZE+wire.rows_offset_for(1) | |
| buf = bytearray(offset+rows.nbytes); buf[offset:] = rows.tobytes() | |
| return client.step(buf, entries, 2, step_id=seq) | |
| rejected = step(1) | |
| assert not rejected.ok and rejected.reason == reason | |
| assert rejected.unknown_apply == (mode in ('timeout', 'late-reply')) | |
| assert not client.ready | |
| assert client.connect_now() and client.epoch == 2 | |
| assert step(2).ok | |
| finally: | |
| client.close() | |
| def test_eos_observer_sees_defined_tokens_only(seam: Path, monkeypatch: pytest.MonkeyPatch) -> None: | |
| (seam/'EOS.json').write_text(json.dumps({'run': 'owned-run', 'expires': time.time()+60, 'eos': 8})) | |
| monkeypatch.setattr(torch.distributed, 'get_rank', lambda: 1) | |
| output = types.SimpleNamespace(sampled_token_ids=torch.tensor([[7, 8]]), num_sampled=torch.tensor([1])) | |
| e.observe_sample(output) | |
| assert not list(seam.glob('*.jsonl')) | |
| output.num_sampled.fill_(2) | |
| e.observe_sample(output) | |
| evidence = json.loads(next(seam.glob('*.jsonl')).read_text()) | |
| assert evidence['eos'] == 8 and evidence['observed'] is True and evidence['rank'] == 1 | |
| def test_import_in_cpu_proxy_does_not_import_torch() -> None: | |
| import subprocess | |
| subprocess.run([sys.executable, '-c', 'import sys; from offload.launch.windows import pp4_admission_engine; assert "torch" not in sys.modules'], check=True) | |